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 8 namespace v8 { 9 namespace internal { 10 11 class ObjectBuiltinsAssembler : public CodeStubAssembler { 12 public: ObjectBuiltinsAssembler(compiler::CodeAssemblerState * state)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