OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 #ifndef V8_BUILTINS_H_ | 5 #ifndef V8_BUILTINS_H_ |
6 #define V8_BUILTINS_H_ | 6 #define V8_BUILTINS_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 | 10 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 UNINITIALIZED, kNoExtraICState) | 53 UNINITIALIZED, kNoExtraICState) |
54 | 54 |
55 | 55 |
56 // Define list of builtins implemented in C++. | 56 // Define list of builtins implemented in C++. |
57 #define BUILTIN_LIST_C(V) \ | 57 #define BUILTIN_LIST_C(V) \ |
58 V(Illegal, kNone) \ | 58 V(Illegal, kNone) \ |
59 \ | 59 \ |
60 V(EmptyFunction, kNone) \ | 60 V(EmptyFunction, kNone) \ |
61 \ | 61 \ |
62 V(ArrayConcat, kNone) \ | 62 V(ArrayConcat, kNone) \ |
63 V(ArrayIsArray, kNone) \ | |
64 V(ArrayPop, kNone) \ | 63 V(ArrayPop, kNone) \ |
65 V(ArrayPush, kNone) \ | 64 V(ArrayPush, kNone) \ |
66 V(ArrayShift, kNone) \ | 65 V(ArrayShift, kNone) \ |
67 V(ArraySlice, kNone) \ | 66 V(ArraySlice, kNone) \ |
68 V(ArraySplice, kNone) \ | 67 V(ArraySplice, kNone) \ |
69 V(ArrayUnshift, kNone) \ | 68 V(ArrayUnshift, kNone) \ |
70 \ | 69 \ |
71 V(ArrayBufferConstructor, kTarget) \ | 70 V(ArrayBufferConstructor, kTarget) \ |
72 V(ArrayBufferConstructor_ConstructStub, kTargetAndNewTarget) \ | 71 V(ArrayBufferConstructor_ConstructStub, kTargetAndNewTarget) \ |
73 V(ArrayBufferIsView, kNone) \ | 72 V(ArrayBufferIsView, kNone) \ |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 V(GeneratorPrototypeNext, 2) \ | 305 V(GeneratorPrototypeNext, 2) \ |
307 V(GeneratorPrototypeReturn, 2) \ | 306 V(GeneratorPrototypeReturn, 2) \ |
308 V(GeneratorPrototypeThrow, 2) \ | 307 V(GeneratorPrototypeThrow, 2) \ |
309 V(MathCeil, 2) \ | 308 V(MathCeil, 2) \ |
310 V(MathClz32, 2) \ | 309 V(MathClz32, 2) \ |
311 V(MathFloor, 2) \ | 310 V(MathFloor, 2) \ |
312 V(MathRound, 2) \ | 311 V(MathRound, 2) \ |
313 V(MathSqrt, 2) \ | 312 V(MathSqrt, 2) \ |
314 V(MathTrunc, 2) \ | 313 V(MathTrunc, 2) \ |
315 V(ObjectHasOwnProperty, 2) \ | 314 V(ObjectHasOwnProperty, 2) \ |
| 315 V(ArrayIsArray, 2) \ |
316 V(StringPrototypeCharAt, 2) \ | 316 V(StringPrototypeCharAt, 2) \ |
317 V(StringPrototypeCharCodeAt, 2) \ | 317 V(StringPrototypeCharCodeAt, 2) \ |
318 V(AtomicsLoad, 3) | 318 V(AtomicsLoad, 3) |
319 | 319 |
320 // Define list of builtin handlers implemented in assembly. | 320 // Define list of builtin handlers implemented in assembly. |
321 #define BUILTIN_LIST_H(V) \ | 321 #define BUILTIN_LIST_H(V) \ |
322 V(LoadIC_Slow, LOAD_IC) \ | 322 V(LoadIC_Slow, LOAD_IC) \ |
323 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \ | 323 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \ |
324 V(StoreIC_Slow, STORE_IC) \ | 324 V(StoreIC_Slow, STORE_IC) \ |
325 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \ | 325 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \ |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 // ES6 section 25.3.1.2 Generator.prototype.next ( value ) | 621 // ES6 section 25.3.1.2 Generator.prototype.next ( value ) |
622 static void Generate_GeneratorPrototypeNext(CodeStubAssembler* assembler); | 622 static void Generate_GeneratorPrototypeNext(CodeStubAssembler* assembler); |
623 // ES6 section 25.3.1.3 Generator.prototype.return ( value ) | 623 // ES6 section 25.3.1.3 Generator.prototype.return ( value ) |
624 static void Generate_GeneratorPrototypeReturn(CodeStubAssembler* assembler); | 624 static void Generate_GeneratorPrototypeReturn(CodeStubAssembler* assembler); |
625 // ES6 section 25.3.1.4 Generator.prototype.throw ( exception ) | 625 // ES6 section 25.3.1.4 Generator.prototype.throw ( exception ) |
626 static void Generate_GeneratorPrototypeThrow(CodeStubAssembler* assembler); | 626 static void Generate_GeneratorPrototypeThrow(CodeStubAssembler* assembler); |
627 | 627 |
628 // ES6 section 19.1.3.2 Object.prototype.hasOwnProperty | 628 // ES6 section 19.1.3.2 Object.prototype.hasOwnProperty |
629 static void Generate_ObjectHasOwnProperty(CodeStubAssembler* assembler); | 629 static void Generate_ObjectHasOwnProperty(CodeStubAssembler* assembler); |
630 | 630 |
| 631 // ES6 section 22.1.2.2 Array.isArray |
| 632 static void Generate_ArrayIsArray(CodeStubAssembler* assembler); |
| 633 |
631 // ES6 section 21.1.3.1 String.prototype.charAt ( pos ) | 634 // ES6 section 21.1.3.1 String.prototype.charAt ( pos ) |
632 static void Generate_StringPrototypeCharAt(CodeStubAssembler* assembler); | 635 static void Generate_StringPrototypeCharAt(CodeStubAssembler* assembler); |
633 // ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) | 636 // ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) |
634 static void Generate_StringPrototypeCharCodeAt(CodeStubAssembler* assembler); | 637 static void Generate_StringPrototypeCharCodeAt(CodeStubAssembler* assembler); |
635 | 638 |
636 static void Generate_StringConstructor(MacroAssembler* masm); | 639 static void Generate_StringConstructor(MacroAssembler* masm); |
637 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm); | 640 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm); |
638 static void Generate_OnStackReplacement(MacroAssembler* masm); | 641 static void Generate_OnStackReplacement(MacroAssembler* masm); |
639 static void Generate_InterruptCheck(MacroAssembler* masm); | 642 static void Generate_InterruptCheck(MacroAssembler* masm); |
640 static void Generate_StackCheck(MacroAssembler* masm); | 643 static void Generate_StackCheck(MacroAssembler* masm); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
677 friend class BuiltinFunctionTable; | 680 friend class BuiltinFunctionTable; |
678 friend class Isolate; | 681 friend class Isolate; |
679 | 682 |
680 DISALLOW_COPY_AND_ASSIGN(Builtins); | 683 DISALLOW_COPY_AND_ASSIGN(Builtins); |
681 }; | 684 }; |
682 | 685 |
683 } // namespace internal | 686 } // namespace internal |
684 } // namespace v8 | 687 } // namespace v8 |
685 | 688 |
686 #endif // V8_BUILTINS_H_ | 689 #endif // V8_BUILTINS_H_ |
OLD | NEW |