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 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 | 321 |
322 // Define list of builtins implemented in TurboFan (with JS linkage). | 322 // Define list of builtins implemented in TurboFan (with JS linkage). |
323 #define BUILTIN_LIST_T(V) \ | 323 #define BUILTIN_LIST_T(V) \ |
324 V(FunctionPrototypeHasInstance, 2) \ | 324 V(FunctionPrototypeHasInstance, 2) \ |
325 V(GeneratorPrototypeNext, 2) \ | 325 V(GeneratorPrototypeNext, 2) \ |
326 V(GeneratorPrototypeReturn, 2) \ | 326 V(GeneratorPrototypeReturn, 2) \ |
327 V(GeneratorPrototypeThrow, 2) \ | 327 V(GeneratorPrototypeThrow, 2) \ |
328 V(MathCeil, 2) \ | 328 V(MathCeil, 2) \ |
329 V(MathClz32, 2) \ | 329 V(MathClz32, 2) \ |
330 V(MathFloor, 2) \ | 330 V(MathFloor, 2) \ |
| 331 V(MathLog, 2) \ |
331 V(MathRound, 2) \ | 332 V(MathRound, 2) \ |
332 V(MathSqrt, 2) \ | 333 V(MathSqrt, 2) \ |
333 V(MathTrunc, 2) \ | 334 V(MathTrunc, 2) \ |
334 V(ObjectHasOwnProperty, 2) \ | 335 V(ObjectHasOwnProperty, 2) \ |
335 V(ArrayIsArray, 2) \ | 336 V(ArrayIsArray, 2) \ |
336 V(StringFromCharCode, 2) \ | 337 V(StringFromCharCode, 2) \ |
337 V(StringPrototypeCharAt, 2) \ | 338 V(StringPrototypeCharAt, 2) \ |
338 V(StringPrototypeCharCodeAt, 2) \ | 339 V(StringPrototypeCharCodeAt, 2) \ |
339 V(AtomicsLoad, 3) \ | 340 V(AtomicsLoad, 3) \ |
340 V(AtomicsStore, 4) | 341 V(AtomicsStore, 4) |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
612 | 613 |
613 static void Generate_InternalArrayCode(MacroAssembler* masm); | 614 static void Generate_InternalArrayCode(MacroAssembler* masm); |
614 static void Generate_ArrayCode(MacroAssembler* masm); | 615 static void Generate_ArrayCode(MacroAssembler* masm); |
615 | 616 |
616 // ES6 section 20.2.2.10 Math.ceil ( x ) | 617 // ES6 section 20.2.2.10 Math.ceil ( x ) |
617 static void Generate_MathCeil(CodeStubAssembler* assembler); | 618 static void Generate_MathCeil(CodeStubAssembler* assembler); |
618 // ES6 section 20.2.2.11 Math.clz32 ( x ) | 619 // ES6 section 20.2.2.11 Math.clz32 ( x ) |
619 static void Generate_MathClz32(CodeStubAssembler* assembler); | 620 static void Generate_MathClz32(CodeStubAssembler* assembler); |
620 // ES6 section 20.2.2.16 Math.floor ( x ) | 621 // ES6 section 20.2.2.16 Math.floor ( x ) |
621 static void Generate_MathFloor(CodeStubAssembler* assembler); | 622 static void Generate_MathFloor(CodeStubAssembler* assembler); |
| 623 // ES6 section 20.2.2.20 Math.log ( x ) |
| 624 static void Generate_MathLog(CodeStubAssembler* assembler); |
622 enum class MathMaxMinKind { kMax, kMin }; | 625 enum class MathMaxMinKind { kMax, kMin }; |
623 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind); | 626 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind); |
624 // ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) | 627 // ES6 section 20.2.2.24 Math.max ( value1, value2 , ...values ) |
625 static void Generate_MathMax(MacroAssembler* masm) { | 628 static void Generate_MathMax(MacroAssembler* masm) { |
626 Generate_MathMaxMin(masm, MathMaxMinKind::kMax); | 629 Generate_MathMaxMin(masm, MathMaxMinKind::kMax); |
627 } | 630 } |
628 // ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) | 631 // ES6 section 20.2.2.25 Math.min ( value1, value2 , ...values ) |
629 static void Generate_MathMin(MacroAssembler* masm) { | 632 static void Generate_MathMin(MacroAssembler* masm) { |
630 Generate_MathMaxMin(masm, MathMaxMinKind::kMin); | 633 Generate_MathMaxMin(masm, MathMaxMinKind::kMin); |
631 } | 634 } |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
707 friend class BuiltinFunctionTable; | 710 friend class BuiltinFunctionTable; |
708 friend class Isolate; | 711 friend class Isolate; |
709 | 712 |
710 DISALLOW_COPY_AND_ASSIGN(Builtins); | 713 DISALLOW_COPY_AND_ASSIGN(Builtins); |
711 }; | 714 }; |
712 | 715 |
713 } // namespace internal | 716 } // namespace internal |
714 } // namespace v8 | 717 } // namespace v8 |
715 | 718 |
716 #endif // V8_BUILTINS_H_ | 719 #endif // V8_BUILTINS_H_ |
OLD | NEW |