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 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 6991 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
7002 | 7002 |
7003 // List of builtin functions we want to identify to improve code | 7003 // List of builtin functions we want to identify to improve code |
7004 // generation. | 7004 // generation. |
7005 // | 7005 // |
7006 // Each entry has a name of a global object property holding an object | 7006 // Each entry has a name of a global object property holding an object |
7007 // optionally followed by ".prototype", a name of a builtin function | 7007 // optionally followed by ".prototype", a name of a builtin function |
7008 // on the object (the one the id is set for), and a label. | 7008 // on the object (the one the id is set for), and a label. |
7009 // | 7009 // |
7010 // Installation of ids for the selected builtin functions is handled | 7010 // Installation of ids for the selected builtin functions is handled |
7011 // by the bootstrapper. | 7011 // by the bootstrapper. |
7012 #define FUNCTIONS_WITH_ID_LIST(V) \ | 7012 #define FUNCTIONS_WITH_ID_LIST(V) \ |
7013 V(Array.prototype, indexOf, ArrayIndexOf) \ | 7013 V(Array.prototype, indexOf, ArrayIndexOf) \ |
7014 V(Array.prototype, lastIndexOf, ArrayLastIndexOf) \ | 7014 V(Array.prototype, lastIndexOf, ArrayLastIndexOf) \ |
7015 V(Array.prototype, push, ArrayPush) \ | 7015 V(Array.prototype, push, ArrayPush) \ |
7016 V(Array.prototype, pop, ArrayPop) \ | 7016 V(Array.prototype, pop, ArrayPop) \ |
7017 V(Array.prototype, shift, ArrayShift) \ | 7017 V(Array.prototype, shift, ArrayShift) \ |
7018 V(Date.prototype, getDate, DateGetDate) \ | 7018 V(Date.prototype, getDate, DateGetDate) \ |
7019 V(Date.prototype, getDay, DateGetDay) \ | 7019 V(Date.prototype, getDay, DateGetDay) \ |
7020 V(Date.prototype, getFullYear, DateGetFullYear) \ | 7020 V(Date.prototype, getFullYear, DateGetFullYear) \ |
7021 V(Date.prototype, getHours, DateGetHours) \ | 7021 V(Date.prototype, getHours, DateGetHours) \ |
7022 V(Date.prototype, getMilliseconds, DateGetMilliseconds) \ | 7022 V(Date.prototype, getMilliseconds, DateGetMilliseconds) \ |
7023 V(Date.prototype, getMinutes, DateGetMinutes) \ | 7023 V(Date.prototype, getMinutes, DateGetMinutes) \ |
7024 V(Date.prototype, getMonth, DateGetMonth) \ | 7024 V(Date.prototype, getMonth, DateGetMonth) \ |
7025 V(Date.prototype, getSeconds, DateGetSeconds) \ | 7025 V(Date.prototype, getSeconds, DateGetSeconds) \ |
7026 V(Date.prototype, getTime, DateGetTime) \ | 7026 V(Date.prototype, getTime, DateGetTime) \ |
7027 V(Function.prototype, apply, FunctionApply) \ | 7027 V(Function.prototype, apply, FunctionApply) \ |
7028 V(Function.prototype, call, FunctionCall) \ | 7028 V(Function.prototype, call, FunctionCall) \ |
7029 V(Object.prototype, hasOwnProperty, ObjectHasOwnProperty) \ | 7029 V(Object.prototype, hasOwnProperty, ObjectHasOwnProperty) \ |
7030 V(String.prototype, charCodeAt, StringCharCodeAt) \ | 7030 V(String.prototype, charCodeAt, StringCharCodeAt) \ |
7031 V(String.prototype, charAt, StringCharAt) \ | 7031 V(String.prototype, charAt, StringCharAt) \ |
7032 V(String.prototype, concat, StringConcat) \ | 7032 V(String.prototype, concat, StringConcat) \ |
7033 V(String.prototype, substr, StringSubstr) \ | 7033 V(String.prototype, substr, StringSubstr) \ |
7034 V(String.prototype, toLowerCase, StringToLowerCase) \ | 7034 V(String.prototype, toLowerCase, StringToLowerCase) \ |
7035 V(String.prototype, toUpperCase, StringToUpperCase) \ | 7035 V(String.prototype, toUpperCase, StringToUpperCase) \ |
7036 V(String, fromCharCode, StringFromCharCode) \ | 7036 V(% StringIteratorPrototype %, next, StringIteratorPrototypeNext) \ |
caitp
2016/10/01 17:34:58
Mystery solved
Benedikt Meurer
2016/10/01 17:36:25
Yeah, please move this down to the special ones an
| |
7037 V(Math, random, MathRandom) \ | 7037 V(String, fromCharCode, StringFromCharCode) \ |
7038 V(Math, floor, MathFloor) \ | 7038 V(Math, random, MathRandom) \ |
7039 V(Math, round, MathRound) \ | 7039 V(Math, floor, MathFloor) \ |
7040 V(Math, ceil, MathCeil) \ | 7040 V(Math, round, MathRound) \ |
7041 V(Math, abs, MathAbs) \ | 7041 V(Math, ceil, MathCeil) \ |
7042 V(Math, log, MathLog) \ | 7042 V(Math, abs, MathAbs) \ |
7043 V(Math, log1p, MathLog1p) \ | 7043 V(Math, log, MathLog) \ |
7044 V(Math, log2, MathLog2) \ | 7044 V(Math, log1p, MathLog1p) \ |
7045 V(Math, log10, MathLog10) \ | 7045 V(Math, log2, MathLog2) \ |
7046 V(Math, cbrt, MathCbrt) \ | 7046 V(Math, log10, MathLog10) \ |
7047 V(Math, exp, MathExp) \ | 7047 V(Math, cbrt, MathCbrt) \ |
7048 V(Math, expm1, MathExpm1) \ | 7048 V(Math, exp, MathExp) \ |
7049 V(Math, sqrt, MathSqrt) \ | 7049 V(Math, expm1, MathExpm1) \ |
7050 V(Math, pow, MathPow) \ | 7050 V(Math, sqrt, MathSqrt) \ |
7051 V(Math, max, MathMax) \ | 7051 V(Math, pow, MathPow) \ |
7052 V(Math, min, MathMin) \ | 7052 V(Math, max, MathMax) \ |
7053 V(Math, cos, MathCos) \ | 7053 V(Math, min, MathMin) \ |
7054 V(Math, cosh, MathCosh) \ | 7054 V(Math, cos, MathCos) \ |
7055 V(Math, sign, MathSign) \ | 7055 V(Math, cosh, MathCosh) \ |
7056 V(Math, sin, MathSin) \ | 7056 V(Math, sign, MathSign) \ |
7057 V(Math, sinh, MathSinh) \ | 7057 V(Math, sin, MathSin) \ |
7058 V(Math, tan, MathTan) \ | 7058 V(Math, sinh, MathSinh) \ |
7059 V(Math, tanh, MathTanh) \ | 7059 V(Math, tan, MathTan) \ |
7060 V(Math, acos, MathAcos) \ | 7060 V(Math, tanh, MathTanh) \ |
7061 V(Math, acosh, MathAcosh) \ | 7061 V(Math, acos, MathAcos) \ |
7062 V(Math, asin, MathAsin) \ | 7062 V(Math, acosh, MathAcosh) \ |
7063 V(Math, asinh, MathAsinh) \ | 7063 V(Math, asin, MathAsin) \ |
7064 V(Math, atan, MathAtan) \ | 7064 V(Math, asinh, MathAsinh) \ |
7065 V(Math, atan2, MathAtan2) \ | 7065 V(Math, atan, MathAtan) \ |
7066 V(Math, atanh, MathAtanh) \ | 7066 V(Math, atan2, MathAtan2) \ |
7067 V(Math, imul, MathImul) \ | 7067 V(Math, atanh, MathAtanh) \ |
7068 V(Math, clz32, MathClz32) \ | 7068 V(Math, imul, MathImul) \ |
7069 V(Math, fround, MathFround) \ | 7069 V(Math, clz32, MathClz32) \ |
7070 V(Math, trunc, MathTrunc) \ | 7070 V(Math, fround, MathFround) \ |
7071 V(Number, isFinite, NumberIsFinite) \ | 7071 V(Math, trunc, MathTrunc) \ |
7072 V(Number, isInteger, NumberIsInteger) \ | 7072 V(Number, isFinite, NumberIsFinite) \ |
7073 V(Number, isNaN, NumberIsNaN) \ | 7073 V(Number, isInteger, NumberIsInteger) \ |
7074 V(Number, isSafeInteger, NumberIsSafeInteger) \ | 7074 V(Number, isNaN, NumberIsNaN) \ |
7075 V(Number, parseInt, NumberParseInt) \ | 7075 V(Number, isSafeInteger, NumberIsSafeInteger) \ |
7076 V(Number, parseInt, NumberParseInt) \ | |
7076 V(Number.prototype, toString, NumberToString) | 7077 V(Number.prototype, toString, NumberToString) |
7077 | 7078 |
7078 #define ATOMIC_FUNCTIONS_WITH_ID_LIST(V) \ | 7079 #define ATOMIC_FUNCTIONS_WITH_ID_LIST(V) \ |
7079 V(Atomics, load, AtomicsLoad) \ | 7080 V(Atomics, load, AtomicsLoad) \ |
7080 V(Atomics, store, AtomicsStore) | 7081 V(Atomics, store, AtomicsStore) |
7081 | 7082 |
7082 enum BuiltinFunctionId { | 7083 enum BuiltinFunctionId { |
7083 kArrayCode, | 7084 kArrayCode, |
7084 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ | 7085 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ |
7085 k##name, | 7086 k##name, |
(...skipping 4351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
11437 } | 11438 } |
11438 return value; | 11439 return value; |
11439 } | 11440 } |
11440 }; | 11441 }; |
11441 | 11442 |
11442 | 11443 |
11443 } // NOLINT, false-positive due to second-order macros. | 11444 } // NOLINT, false-positive due to second-order macros. |
11444 } // NOLINT, false-positive due to second-order macros. | 11445 } // NOLINT, false-positive due to second-order macros. |
11445 | 11446 |
11446 #endif // V8_OBJECTS_H_ | 11447 #endif // V8_OBJECTS_H_ |
OLD | NEW |