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 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 // Define list of builtins implemented in TurboFan (with JS linkage). | 318 // Define list of builtins implemented in TurboFan (with JS linkage). |
319 #define BUILTIN_LIST_T(V) \ | 319 #define BUILTIN_LIST_T(V) \ |
320 V(FunctionPrototypeHasInstance, 2) \ | 320 V(FunctionPrototypeHasInstance, 2) \ |
321 V(GeneratorPrototypeNext, 2) \ | 321 V(GeneratorPrototypeNext, 2) \ |
322 V(GeneratorPrototypeReturn, 2) \ | 322 V(GeneratorPrototypeReturn, 2) \ |
323 V(GeneratorPrototypeThrow, 2) \ | 323 V(GeneratorPrototypeThrow, 2) \ |
324 V(MathCeil, 2) \ | 324 V(MathCeil, 2) \ |
325 V(MathClz32, 2) \ | 325 V(MathClz32, 2) \ |
326 V(MathFloor, 2) \ | 326 V(MathFloor, 2) \ |
327 V(MathLog, 2) \ | 327 V(MathLog, 2) \ |
| 328 V(MathLog1p, 2) \ |
328 V(MathRound, 2) \ | 329 V(MathRound, 2) \ |
329 V(MathSqrt, 2) \ | 330 V(MathSqrt, 2) \ |
330 V(MathTrunc, 2) \ | 331 V(MathTrunc, 2) \ |
331 V(ObjectHasOwnProperty, 2) \ | 332 V(ObjectHasOwnProperty, 2) \ |
332 V(ArrayIsArray, 2) \ | 333 V(ArrayIsArray, 2) \ |
333 V(StringFromCharCode, 2) \ | 334 V(StringFromCharCode, 2) \ |
334 V(StringPrototypeCharAt, 2) \ | 335 V(StringPrototypeCharAt, 2) \ |
335 V(StringPrototypeCharCodeAt, 2) \ | 336 V(StringPrototypeCharCodeAt, 2) \ |
336 V(TypedArrayPrototypeByteLength, 1) \ | 337 V(TypedArrayPrototypeByteLength, 1) \ |
337 V(TypedArrayPrototypeByteOffset, 1) \ | 338 V(TypedArrayPrototypeByteOffset, 1) \ |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 static void Generate_ArrayCode(MacroAssembler* masm); | 616 static void Generate_ArrayCode(MacroAssembler* masm); |
616 | 617 |
617 // ES6 section 20.2.2.10 Math.ceil ( x ) | 618 // ES6 section 20.2.2.10 Math.ceil ( x ) |
618 static void Generate_MathCeil(CodeStubAssembler* assembler); | 619 static void Generate_MathCeil(CodeStubAssembler* assembler); |
619 // ES6 section 20.2.2.11 Math.clz32 ( x ) | 620 // ES6 section 20.2.2.11 Math.clz32 ( x ) |
620 static void Generate_MathClz32(CodeStubAssembler* assembler); | 621 static void Generate_MathClz32(CodeStubAssembler* assembler); |
621 // ES6 section 20.2.2.16 Math.floor ( x ) | 622 // ES6 section 20.2.2.16 Math.floor ( x ) |
622 static void Generate_MathFloor(CodeStubAssembler* assembler); | 623 static void Generate_MathFloor(CodeStubAssembler* assembler); |
623 // ES6 section 20.2.2.20 Math.log ( x ) | 624 // ES6 section 20.2.2.20 Math.log ( x ) |
624 static void Generate_MathLog(CodeStubAssembler* assembler); | 625 static void Generate_MathLog(CodeStubAssembler* assembler); |
| 626 // ES6 section 20.2.2.21 Math.log ( x ) |
| 627 static void Generate_MathLog1p(CodeStubAssembler* assembler); |
625 enum class MathMaxMinKind { kMax, kMin }; | 628 enum class MathMaxMinKind { kMax, kMin }; |
626 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind); | 629 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind); |
627 // ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) | 630 // ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) |
628 static void Generate_MathMax(MacroAssembler* masm) { | 631 static void Generate_MathMax(MacroAssembler* masm) { |
629 Generate_MathMaxMin(masm, MathMaxMinKind::kMax); | 632 Generate_MathMaxMin(masm, MathMaxMinKind::kMax); |
630 } | 633 } |
631 // ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) | 634 // ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) |
632 static void Generate_MathMin(MacroAssembler* masm) { | 635 static void Generate_MathMin(MacroAssembler* masm) { |
633 Generate_MathMaxMin(masm, MathMaxMinKind::kMin); | 636 Generate_MathMaxMin(masm, MathMaxMinKind::kMin); |
634 } | 637 } |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
720 friend class BuiltinFunctionTable; | 723 friend class BuiltinFunctionTable; |
721 friend class Isolate; | 724 friend class Isolate; |
722 | 725 |
723 DISALLOW_COPY_AND_ASSIGN(Builtins); | 726 DISALLOW_COPY_AND_ASSIGN(Builtins); |
724 }; | 727 }; |
725 | 728 |
726 } // namespace internal | 729 } // namespace internal |
727 } // namespace v8 | 730 } // namespace v8 |
728 | 731 |
729 #endif // V8_BUILTINS_H_ | 732 #endif // V8_BUILTINS_H_ |
OLD | NEW |