| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <cmath> | 5 #include <cmath> |
| 6 | 6 |
| 7 #include "src/api.h" | 7 #include "src/api.h" |
| 8 #include "src/base/utils/random-number-generator.h" | 8 #include "src/base/utils/random-number-generator.h" |
| 9 #include "src/builtins/builtins-promise-gen.h" | 9 #include "src/builtins/builtins-promise-gen.h" |
| 10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
| (...skipping 1789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1800 JSObject::SetElement(isolate, array, 0, | 1800 JSObject::SetElement(isolate, array, 0, |
| 1801 Handle<Smi>(Smi::FromInt(1), isolate), SLOPPY) | 1801 Handle<Smi>(Smi::FromInt(1), isolate), SLOPPY) |
| 1802 .Check(); | 1802 .Check(); |
| 1803 JSObject::SetElement(isolate, array, 1, | 1803 JSObject::SetElement(isolate, array, 1, |
| 1804 Handle<Smi>(Smi::FromInt(2), isolate), SLOPPY) | 1804 Handle<Smi>(Smi::FromInt(2), isolate), SLOPPY) |
| 1805 .Check(); | 1805 .Check(); |
| 1806 CodeStubArguments args(this, IntPtrConstant(kNumParams)); | 1806 CodeStubArguments args(this, IntPtrConstant(kNumParams)); |
| 1807 Variable arg_index(this, MachineType::PointerRepresentation()); | 1807 Variable arg_index(this, MachineType::PointerRepresentation()); |
| 1808 Label bailout(this); | 1808 Label bailout(this); |
| 1809 arg_index.Bind(IntPtrConstant(0)); | 1809 arg_index.Bind(IntPtrConstant(0)); |
| 1810 Node* length = BuildAppendJSArray( | 1810 Node* length = BuildAppendJSArray(kind_, HeapConstant(array), args, |
| 1811 kind_, HeapConstant(Handle<HeapObject>(isolate->context(), isolate)), | 1811 arg_index, &bailout); |
| 1812 HeapConstant(array), args, arg_index, &bailout); | |
| 1813 Return(length); | 1812 Return(length); |
| 1814 | 1813 |
| 1815 Bind(&bailout); | 1814 Bind(&bailout); |
| 1816 Return(SmiTag(IntPtrAdd(arg_index.value(), IntPtrConstant(2)))); | 1815 Return(SmiTag(IntPtrAdd(arg_index.value(), IntPtrConstant(2)))); |
| 1817 | 1816 |
| 1818 Handle<Code> code = tester->GenerateCode(); | 1817 Handle<Code> code = tester->GenerateCode(); |
| 1819 CHECK(!code.is_null()); | 1818 CHECK(!code.is_null()); |
| 1820 | 1819 |
| 1821 FunctionTester ft(code, kNumParams); | 1820 FunctionTester ft(code, kNumParams); |
| 1822 | 1821 |
| (...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2640 m.Return(m.SmiConstant(0)); | 2639 m.Return(m.SmiConstant(0)); |
| 2641 | 2640 |
| 2642 Handle<Code> code = data.GenerateCode(); | 2641 Handle<Code> code = data.GenerateCode(); |
| 2643 CHECK(!code.is_null()); | 2642 CHECK(!code.is_null()); |
| 2644 FunctionTester ft(code, kNumParams); | 2643 FunctionTester ft(code, kNumParams); |
| 2645 CHECK_EQ(1, Handle<Smi>::cast(ft.Call().ToHandleChecked())->value()); | 2644 CHECK_EQ(1, Handle<Smi>::cast(ft.Call().ToHandleChecked())->value()); |
| 2646 } | 2645 } |
| 2647 | 2646 |
| 2648 } // namespace internal | 2647 } // namespace internal |
| 2649 } // namespace v8 | 2648 } // namespace v8 |
| OLD | NEW |