Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/objects.h

Issue 2640783006: [turbofan] Assign proper types to various builtins. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/typer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 6972 matching lines...) Expand 10 before | Expand all | Expand 10 after
6983 // List of builtin functions we want to identify to improve code 6983 // List of builtin functions we want to identify to improve code
6984 // generation. 6984 // generation.
6985 // 6985 //
6986 // Each entry has a name of a global object property holding an object 6986 // Each entry has a name of a global object property holding an object
6987 // optionally followed by ".prototype", a name of a builtin function 6987 // optionally followed by ".prototype", a name of a builtin function
6988 // on the object (the one the id is set for), and a label. 6988 // on the object (the one the id is set for), and a label.
6989 // 6989 //
6990 // Installation of ids for the selected builtin functions is handled 6990 // Installation of ids for the selected builtin functions is handled
6991 // by the bootstrapper. 6991 // by the bootstrapper.
6992 #define FUNCTIONS_WITH_ID_LIST(V) \ 6992 #define FUNCTIONS_WITH_ID_LIST(V) \
6993 V(Array, isArray, ArrayIsArray) \
6993 V(Array.prototype, concat, ArrayConcat) \ 6994 V(Array.prototype, concat, ArrayConcat) \
6994 V(Array.prototype, every, ArrayEvery) \ 6995 V(Array.prototype, every, ArrayEvery) \
6995 V(Array.prototype, fill, ArrayFill) \ 6996 V(Array.prototype, fill, ArrayFill) \
6996 V(Array.prototype, filter, ArrayFilter) \ 6997 V(Array.prototype, filter, ArrayFilter) \
6997 V(Array.prototype, findIndex, ArrayFindIndex) \ 6998 V(Array.prototype, findIndex, ArrayFindIndex) \
6998 V(Array.prototype, forEach, ArrayForEach) \ 6999 V(Array.prototype, forEach, ArrayForEach) \
6999 V(Array.prototype, includes, ArrayIncludes) \ 7000 V(Array.prototype, includes, ArrayIncludes) \
7000 V(Array.prototype, indexOf, ArrayIndexOf) \ 7001 V(Array.prototype, indexOf, ArrayIndexOf) \
7001 V(Array.prototype, join, ArrayJoin) \ 7002 V(Array.prototype, join, ArrayJoin) \
7002 V(Array.prototype, lastIndexOf, ArrayLastIndexOf) \ 7003 V(Array.prototype, lastIndexOf, ArrayLastIndexOf) \
(...skipping 11 matching lines...) Expand all
7014 V(Date.prototype, getDay, DateGetDay) \ 7015 V(Date.prototype, getDay, DateGetDay) \
7015 V(Date.prototype, getFullYear, DateGetFullYear) \ 7016 V(Date.prototype, getFullYear, DateGetFullYear) \
7016 V(Date.prototype, getHours, DateGetHours) \ 7017 V(Date.prototype, getHours, DateGetHours) \
7017 V(Date.prototype, getMilliseconds, DateGetMilliseconds) \ 7018 V(Date.prototype, getMilliseconds, DateGetMilliseconds) \
7018 V(Date.prototype, getMinutes, DateGetMinutes) \ 7019 V(Date.prototype, getMinutes, DateGetMinutes) \
7019 V(Date.prototype, getMonth, DateGetMonth) \ 7020 V(Date.prototype, getMonth, DateGetMonth) \
7020 V(Date.prototype, getSeconds, DateGetSeconds) \ 7021 V(Date.prototype, getSeconds, DateGetSeconds) \
7021 V(Date.prototype, getTime, DateGetTime) \ 7022 V(Date.prototype, getTime, DateGetTime) \
7022 V(Function.prototype, apply, FunctionApply) \ 7023 V(Function.prototype, apply, FunctionApply) \
7023 V(Function.prototype, call, FunctionCall) \ 7024 V(Function.prototype, call, FunctionCall) \
7025 V(Object, assign, ObjectAssign) \
7026 V(Object, create, ObjectCreate) \
7024 V(Object.prototype, hasOwnProperty, ObjectHasOwnProperty) \ 7027 V(Object.prototype, hasOwnProperty, ObjectHasOwnProperty) \
7025 V(RegExp.prototype, compile, RegExpCompile) \ 7028 V(RegExp.prototype, compile, RegExpCompile) \
7026 V(RegExp.prototype, exec, RegExpExec) \ 7029 V(RegExp.prototype, exec, RegExpExec) \
7027 V(RegExp.prototype, test, RegExpTest) \ 7030 V(RegExp.prototype, test, RegExpTest) \
7028 V(RegExp.prototype, toString, RegExpToString) \ 7031 V(RegExp.prototype, toString, RegExpToString) \
7029 V(String.prototype, charCodeAt, StringCharCodeAt) \ 7032 V(String.prototype, charCodeAt, StringCharCodeAt) \
7030 V(String.prototype, charAt, StringCharAt) \ 7033 V(String.prototype, charAt, StringCharAt) \
7031 V(String.prototype, codePointAt, StringCodePointAt) \ 7034 V(String.prototype, codePointAt, StringCodePointAt) \
7032 V(String.prototype, concat, StringConcat) \ 7035 V(String.prototype, concat, StringConcat) \
7033 V(String.prototype, endsWith, StringEndsWith) \ 7036 V(String.prototype, endsWith, StringEndsWith) \
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
7083 V(Math, clz32, MathClz32) \ 7086 V(Math, clz32, MathClz32) \
7084 V(Math, fround, MathFround) \ 7087 V(Math, fround, MathFround) \
7085 V(Math, trunc, MathTrunc) \ 7088 V(Math, trunc, MathTrunc) \
7086 V(Number, isFinite, NumberIsFinite) \ 7089 V(Number, isFinite, NumberIsFinite) \
7087 V(Number, isInteger, NumberIsInteger) \ 7090 V(Number, isInteger, NumberIsInteger) \
7088 V(Number, isNaN, NumberIsNaN) \ 7091 V(Number, isNaN, NumberIsNaN) \
7089 V(Number, isSafeInteger, NumberIsSafeInteger) \ 7092 V(Number, isSafeInteger, NumberIsSafeInteger) \
7090 V(Number, parseFloat, NumberParseFloat) \ 7093 V(Number, parseFloat, NumberParseFloat) \
7091 V(Number, parseInt, NumberParseInt) \ 7094 V(Number, parseInt, NumberParseInt) \
7092 V(Number.prototype, toString, NumberToString) \ 7095 V(Number.prototype, toString, NumberToString) \
7093 V(Object, create, ObjectCreate) 7096 V(Map.prototype, clear, MapClear) \
7097 V(Map.prototype, delete, MapDelete) \
7098 V(Map.prototype, entries, MapEntries) \
7099 V(Map.prototype, forEach, MapForEach) \
7100 V(Map.prototype, has, MapHas) \
7101 V(Map.prototype, keys, MapKeys) \
7102 V(Map.prototype, set, MapSet) \
7103 V(Map.prototype, values, MapValues) \
7104 V(Set.prototype, add, SetAdd) \
7105 V(Set.prototype, clear, SetClear) \
7106 V(Set.prototype, delete, SetDelete) \
7107 V(Set.prototype, entries, SetEntries) \
7108 V(Set.prototype, forEach, SetForEach) \
7109 V(Set.prototype, has, SetHas) \
7110 V(Set.prototype, keys, SetKeys) \
7111 V(Set.prototype, values, SetValues) \
7112 V(WeakMap.prototype, delete, WeakMapDelete) \
7113 V(WeakMap.prototype, has, WeakMapHas) \
7114 V(WeakMap.prototype, set, WeakMapSet) \
7115 V(WeakSet.prototype, add, WeakSetAdd) \
7116 V(WeakSet.prototype, delete, WeakSetDelete) \
7117 V(WeakSet.prototype, has, WeakSetHas)
7094 7118
7095 #define ATOMIC_FUNCTIONS_WITH_ID_LIST(V) \ 7119 #define ATOMIC_FUNCTIONS_WITH_ID_LIST(V) \
7096 V(Atomics, load, AtomicsLoad) \ 7120 V(Atomics, load, AtomicsLoad) \
7097 V(Atomics, store, AtomicsStore) 7121 V(Atomics, store, AtomicsStore)
7098 7122
7099 enum BuiltinFunctionId { 7123 enum BuiltinFunctionId {
7100 kArrayCode, 7124 kArrayCode,
7101 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ 7125 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \
7102 k##name, 7126 k##name,
7103 FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) 7127 FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID)
(...skipping 4598 matching lines...) Expand 10 before | Expand all | Expand 10 after
11702 } 11726 }
11703 }; 11727 };
11704 11728
11705 11729
11706 } // NOLINT, false-positive due to second-order macros. 11730 } // NOLINT, false-positive due to second-order macros.
11707 } // NOLINT, false-positive due to second-order macros. 11731 } // NOLINT, false-positive due to second-order macros.
11708 11732
11709 #include "src/objects/object-macros-undef.h" 11733 #include "src/objects/object-macros-undef.h"
11710 11734
11711 #endif // V8_OBJECTS_H_ 11735 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/compiler/typer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698