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 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 6537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6548 | 6548 |
6549 // List of builtin functions we want to identify to improve code | 6549 // List of builtin functions we want to identify to improve code |
6550 // generation. | 6550 // generation. |
6551 // | 6551 // |
6552 // Each entry has a name of a global object property holding an object | 6552 // Each entry has a name of a global object property holding an object |
6553 // optionally followed by ".prototype", a name of a builtin function | 6553 // optionally followed by ".prototype", a name of a builtin function |
6554 // on the object (the one the id is set for), and a label. | 6554 // on the object (the one the id is set for), and a label. |
6555 // | 6555 // |
6556 // Installation of ids for the selected builtin functions is handled | 6556 // Installation of ids for the selected builtin functions is handled |
6557 // by the bootstrapper. | 6557 // by the bootstrapper. |
6558 #define FUNCTIONS_WITH_ID_LIST(V) \ | 6558 #define FUNCTIONS_WITH_ID_LIST(V) \ |
6559 V(Array.prototype, indexOf, ArrayIndexOf) \ | 6559 V(Array.prototype, indexOf, ArrayIndexOf) \ |
6560 V(Array.prototype, lastIndexOf, ArrayLastIndexOf) \ | 6560 V(Array.prototype, lastIndexOf, ArrayLastIndexOf) \ |
6561 V(Array.prototype, push, ArrayPush) \ | 6561 V(Array.prototype, push, ArrayPush) \ |
6562 V(Array.prototype, pop, ArrayPop) \ | 6562 V(Array.prototype, pop, ArrayPop) \ |
6563 V(Array.prototype, shift, ArrayShift) \ | 6563 V(Array.prototype, shift, ArrayShift) \ |
6564 V(Function.prototype, apply, FunctionApply) \ | 6564 V(Function.prototype, apply, FunctionApply) \ |
6565 V(Function.prototype, call, FunctionCall) \ | 6565 V(Function.prototype, call, FunctionCall) \ |
6566 V(String.prototype, charCodeAt, StringCharCodeAt) \ | 6566 V(String.prototype, charCodeAt, StringCharCodeAt) \ |
6567 V(String.prototype, charAt, StringCharAt) \ | 6567 V(String.prototype, charAt, StringCharAt) \ |
6568 V(String, fromCharCode, StringFromCharCode) \ | 6568 V(String.prototype, concat, StringConcat) \ |
6569 V(Math, random, MathRandom) \ | 6569 V(String.prototype, toLowerCase, StringToLowerCase) \ |
6570 V(Math, floor, MathFloor) \ | 6570 V(String.prototype, toUpperCase, StringToUpperCase) \ |
6571 V(Math, round, MathRound) \ | 6571 V(String, fromCharCode, StringFromCharCode) \ |
6572 V(Math, ceil, MathCeil) \ | 6572 V(Math, random, MathRandom) \ |
6573 V(Math, abs, MathAbs) \ | 6573 V(Math, floor, MathFloor) \ |
6574 V(Math, log, MathLog) \ | 6574 V(Math, round, MathRound) \ |
6575 V(Math, exp, MathExp) \ | 6575 V(Math, ceil, MathCeil) \ |
6576 V(Math, sqrt, MathSqrt) \ | 6576 V(Math, abs, MathAbs) \ |
6577 V(Math, pow, MathPow) \ | 6577 V(Math, log, MathLog) \ |
6578 V(Math, max, MathMax) \ | 6578 V(Math, exp, MathExp) \ |
6579 V(Math, min, MathMin) \ | 6579 V(Math, sqrt, MathSqrt) \ |
6580 V(Math, cos, MathCos) \ | 6580 V(Math, pow, MathPow) \ |
6581 V(Math, sin, MathSin) \ | 6581 V(Math, max, MathMax) \ |
6582 V(Math, tan, MathTan) \ | 6582 V(Math, min, MathMin) \ |
6583 V(Math, acos, MathAcos) \ | 6583 V(Math, cos, MathCos) \ |
6584 V(Math, asin, MathAsin) \ | 6584 V(Math, sin, MathSin) \ |
6585 V(Math, atan, MathAtan) \ | 6585 V(Math, tan, MathTan) \ |
6586 V(Math, atan2, MathAtan2) \ | 6586 V(Math, acos, MathAcos) \ |
6587 V(Math, imul, MathImul) \ | 6587 V(Math, asin, MathAsin) \ |
6588 V(Math, clz32, MathClz32) \ | 6588 V(Math, atan, MathAtan) \ |
| 6589 V(Math, atan2, MathAtan2) \ |
| 6590 V(Math, imul, MathImul) \ |
| 6591 V(Math, clz32, MathClz32) \ |
6589 V(Math, fround, MathFround) | 6592 V(Math, fround, MathFround) |
6590 | 6593 |
6591 #define ATOMIC_FUNCTIONS_WITH_ID_LIST(V) \ | 6594 #define ATOMIC_FUNCTIONS_WITH_ID_LIST(V) \ |
6592 V(Atomics, load, AtomicsLoad) \ | 6595 V(Atomics, load, AtomicsLoad) \ |
6593 V(Atomics, store, AtomicsStore) | 6596 V(Atomics, store, AtomicsStore) |
6594 | 6597 |
6595 enum BuiltinFunctionId { | 6598 enum BuiltinFunctionId { |
6596 kArrayCode, | 6599 kArrayCode, |
6597 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ | 6600 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ |
6598 k##name, | 6601 k##name, |
(...skipping 4254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10853 } | 10856 } |
10854 return value; | 10857 return value; |
10855 } | 10858 } |
10856 }; | 10859 }; |
10857 | 10860 |
10858 | 10861 |
10859 } // NOLINT, false-positive due to second-order macros. | 10862 } // NOLINT, false-positive due to second-order macros. |
10860 } // NOLINT, false-positive due to second-order macros. | 10863 } // NOLINT, false-positive due to second-order macros. |
10861 | 10864 |
10862 #endif // V8_OBJECTS_H_ | 10865 #endif // V8_OBJECTS_H_ |
OLD | NEW |