OLD | NEW |
1 | 1 |
2 // Copyright 2011 the V8 project authors. All rights reserved. | 2 // Copyright 2011 the V8 project authors. All rights reserved. |
3 // Use of this source code is governed by a BSD-style license that can be | 3 // Use of this source code is governed by a BSD-style license that can be |
4 // found in the LICENSE file. | 4 // found in the LICENSE file. |
5 | 5 |
6 #ifndef V8_BUILTINS_H_ | 6 #ifndef V8_BUILTINS_H_ |
7 #define V8_BUILTINS_H_ | 7 #define V8_BUILTINS_H_ |
8 | 8 |
9 #include "src/base/flags.h" | 9 #include "src/base/flags.h" |
10 #include "src/handles.h" | 10 #include "src/handles.h" |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 V(MathAtanh, 2) \ | 311 V(MathAtanh, 2) \ |
312 V(MathCeil, 2) \ | 312 V(MathCeil, 2) \ |
313 V(MathCbrt, 2) \ | 313 V(MathCbrt, 2) \ |
314 V(MathExpm1, 2) \ | 314 V(MathExpm1, 2) \ |
315 V(MathClz32, 2) \ | 315 V(MathClz32, 2) \ |
316 V(MathCos, 2) \ | 316 V(MathCos, 2) \ |
317 V(MathExp, 2) \ | 317 V(MathExp, 2) \ |
318 V(MathFloor, 2) \ | 318 V(MathFloor, 2) \ |
319 V(MathLog, 2) \ | 319 V(MathLog, 2) \ |
320 V(MathLog1p, 2) \ | 320 V(MathLog1p, 2) \ |
| 321 V(MathLog10, 2) \ |
321 V(MathLog2, 2) \ | 322 V(MathLog2, 2) \ |
322 V(MathLog10, 2) \ | |
323 V(MathRound, 2) \ | 323 V(MathRound, 2) \ |
| 324 V(MathPow, 3) \ |
324 V(MathSin, 2) \ | 325 V(MathSin, 2) \ |
325 V(MathTan, 2) \ | 326 V(MathTan, 2) \ |
326 V(MathSqrt, 2) \ | 327 V(MathSqrt, 2) \ |
327 V(MathTrunc, 2) \ | 328 V(MathTrunc, 2) \ |
328 V(ObjectHasOwnProperty, 2) \ | 329 V(ObjectHasOwnProperty, 2) \ |
329 V(ArrayIsArray, 2) \ | 330 V(ArrayIsArray, 2) \ |
330 V(StringFromCharCode, 2) \ | 331 V(StringFromCharCode, 2) \ |
331 V(StringPrototypeCharAt, 2) \ | 332 V(StringPrototypeCharAt, 2) \ |
332 V(StringPrototypeCharCodeAt, 2) \ | 333 V(StringPrototypeCharCodeAt, 2) \ |
333 V(TypedArrayPrototypeByteLength, 1) \ | 334 V(TypedArrayPrototypeByteLength, 1) \ |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 enum class MathMaxMinKind { kMax, kMin }; | 656 enum class MathMaxMinKind { kMax, kMin }; |
656 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind); | 657 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind); |
657 // ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) | 658 // ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) |
658 static void Generate_MathMax(MacroAssembler* masm) { | 659 static void Generate_MathMax(MacroAssembler* masm) { |
659 Generate_MathMaxMin(masm, MathMaxMinKind::kMax); | 660 Generate_MathMaxMin(masm, MathMaxMinKind::kMax); |
660 } | 661 } |
661 // ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) | 662 // ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) |
662 static void Generate_MathMin(MacroAssembler* masm) { | 663 static void Generate_MathMin(MacroAssembler* masm) { |
663 Generate_MathMaxMin(masm, MathMaxMinKind::kMin); | 664 Generate_MathMaxMin(masm, MathMaxMinKind::kMin); |
664 } | 665 } |
| 666 // ES6 section 20.2.2.26 Math.pow ( x, y ) |
| 667 static void Generate_MathPow(CodeStubAssembler* assembler); |
665 // ES6 section 20.2.2.28 Math.round ( x ) | 668 // ES6 section 20.2.2.28 Math.round ( x ) |
666 static void Generate_MathRound(CodeStubAssembler* assembler); | 669 static void Generate_MathRound(CodeStubAssembler* assembler); |
667 // ES6 section 20.2.2.20 Math.sin ( x ) | 670 // ES6 section 20.2.2.20 Math.sin ( x ) |
668 static void Generate_MathSin(CodeStubAssembler* assembler); | 671 static void Generate_MathSin(CodeStubAssembler* assembler); |
669 // ES6 section 20.2.2.32 Math.sqrt ( x ) | 672 // ES6 section 20.2.2.32 Math.sqrt ( x ) |
670 static void Generate_MathSqrt(CodeStubAssembler* assembler); | 673 static void Generate_MathSqrt(CodeStubAssembler* assembler); |
671 // ES6 section 20.2.2.33 Math.sin ( x ) | 674 // ES6 section 20.2.2.33 Math.sin ( x ) |
672 static void Generate_MathTan(CodeStubAssembler* assembler); | 675 static void Generate_MathTan(CodeStubAssembler* assembler); |
673 // ES6 section 20.2.2.35 Math.trunc ( x ) | 676 // ES6 section 20.2.2.35 Math.trunc ( x ) |
674 static void Generate_MathTrunc(CodeStubAssembler* assembler); | 677 static void Generate_MathTrunc(CodeStubAssembler* assembler); |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
754 friend class BuiltinFunctionTable; | 757 friend class BuiltinFunctionTable; |
755 friend class Isolate; | 758 friend class Isolate; |
756 | 759 |
757 DISALLOW_COPY_AND_ASSIGN(Builtins); | 760 DISALLOW_COPY_AND_ASSIGN(Builtins); |
758 }; | 761 }; |
759 | 762 |
760 } // namespace internal | 763 } // namespace internal |
761 } // namespace v8 | 764 } // namespace v8 |
762 | 765 |
763 #endif // V8_BUILTINS_H_ | 766 #endif // V8_BUILTINS_H_ |
OLD | NEW |