1 2// Copyright 2017 the V8 project authors. All rights reserved. 3// Use of this source code is governed by a BSD-style license that can be 4// found in the LICENSE file. 5 6#include "src/code-stub-assembler.h" 7 8namespace v8 { 9namespace internal { 10 11class ObjectBuiltinsAssembler : public CodeStubAssembler { 12 public: 13 explicit ObjectBuiltinsAssembler(compiler::CodeAssemblerState* state) 14 : CodeStubAssembler(state) {} 15 16 std::tuple<Node*, Node*, Node*> EmitForInPrepare(Node* object, Node* context, 17 Label* call_runtime, 18 Label* nothing_to_iterate); 19 20 protected: 21 void IsString(Node* object, Label* if_string, Label* if_notstring); 22 void ReturnToStringFormat(Node* context, Node* string); 23}; 24 25} // namespace internal 26} // namespace v8 27