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

Unified Diff: src/builtins.h

Issue 2074063002: [builtins] Always pass target and new target to C++ builtins (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/arm64/builtins-arm64.cc ('k') | src/builtins.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/builtins.h
diff --git a/src/builtins.h b/src/builtins.h
index 4b6bffad9e15ae14cec791de85677cb6ffbc9c0d..2e4019be0129740b5ec87124b345ea11eb02a841 100644
--- a/src/builtins.h
+++ b/src/builtins.h
@@ -14,19 +14,6 @@ namespace internal {
// Forward declarations.
class CodeStubAssembler;
-// Specifies extra arguments required by a C++ builtin.
-enum class BuiltinExtraArguments : uint8_t {
- kNone = 0u,
- kTarget = 1u << 0,
- kNewTarget = 1u << 1,
- kTargetAndNewTarget = kTarget | kNewTarget
-};
-
-inline bool operator&(BuiltinExtraArguments lhs, BuiltinExtraArguments rhs) {
- return static_cast<uint8_t>(lhs) & static_cast<uint8_t>(rhs);
-}
-
-
#define CODE_AGE_LIST_WITH_ARG(V, A) \
V(Quadragenarian, A) \
V(Quinquagenarian, A) \
@@ -51,144 +38,144 @@ inline bool operator&(BuiltinExtraArguments lhs, BuiltinExtraArguments rhs) {
V(Make##C##CodeYoungAgainEvenMarking, BUILTIN, kNoExtraICState)
// Define list of builtins implemented in C++.
-#define BUILTIN_LIST_C(V) \
- V(Illegal, kNone) \
- \
- V(EmptyFunction, kNone) \
- \
- V(ArrayConcat, kNone) \
- V(ArrayPop, kNone) \
- V(ArrayPush, kNone) \
- V(ArrayShift, kNone) \
- V(ArraySlice, kNone) \
- V(ArraySplice, kNone) \
- V(ArrayUnshift, kNone) \
- \
- V(ArrayBufferConstructor, kTarget) \
- V(ArrayBufferConstructor_ConstructStub, kTargetAndNewTarget) \
- V(ArrayBufferIsView, kNone) \
- \
- V(BooleanConstructor, kNone) \
- V(BooleanConstructor_ConstructStub, kTargetAndNewTarget) \
- V(BooleanPrototypeToString, kNone) \
- V(BooleanPrototypeValueOf, kNone) \
- \
- V(DataViewConstructor, kNone) \
- V(DataViewConstructor_ConstructStub, kTargetAndNewTarget) \
- V(DataViewPrototypeGetBuffer, kNone) \
- V(DataViewPrototypeGetByteLength, kNone) \
- V(DataViewPrototypeGetByteOffset, kNone) \
- \
- V(DateConstructor, kNone) \
- V(DateConstructor_ConstructStub, kTargetAndNewTarget) \
- V(DateNow, kNone) \
- V(DateParse, kNone) \
- V(DateUTC, kNone) \
- V(DatePrototypeSetDate, kNone) \
- V(DatePrototypeSetFullYear, kNone) \
- V(DatePrototypeSetHours, kNone) \
- V(DatePrototypeSetMilliseconds, kNone) \
- V(DatePrototypeSetMinutes, kNone) \
- V(DatePrototypeSetMonth, kNone) \
- V(DatePrototypeSetSeconds, kNone) \
- V(DatePrototypeSetTime, kNone) \
- V(DatePrototypeSetUTCDate, kNone) \
- V(DatePrototypeSetUTCFullYear, kNone) \
- V(DatePrototypeSetUTCHours, kNone) \
- V(DatePrototypeSetUTCMilliseconds, kNone) \
- V(DatePrototypeSetUTCMinutes, kNone) \
- V(DatePrototypeSetUTCMonth, kNone) \
- V(DatePrototypeSetUTCSeconds, kNone) \
- V(DatePrototypeToDateString, kNone) \
- V(DatePrototypeToISOString, kNone) \
- V(DatePrototypeToPrimitive, kNone) \
- V(DatePrototypeToUTCString, kNone) \
- V(DatePrototypeToString, kNone) \
- V(DatePrototypeToTimeString, kNone) \
- V(DatePrototypeValueOf, kNone) \
- V(DatePrototypeGetYear, kNone) \
- V(DatePrototypeSetYear, kNone) \
- V(DatePrototypeToJson, kNone) \
- \
- V(FunctionConstructor, kTargetAndNewTarget) \
- V(FunctionPrototypeBind, kNone) \
- V(FunctionPrototypeToString, kNone) \
- \
- V(GeneratorFunctionConstructor, kTargetAndNewTarget) \
- V(AsyncFunctionConstructor, kTargetAndNewTarget) \
- \
- V(GlobalDecodeURI, kNone) \
- V(GlobalDecodeURIComponent, kNone) \
- V(GlobalEncodeURI, kNone) \
- V(GlobalEncodeURIComponent, kNone) \
- V(GlobalEscape, kNone) \
- V(GlobalUnescape, kNone) \
- \
- V(GlobalEval, kTarget) \
- \
- V(JsonParse, kNone) \
- V(JsonStringify, kNone) \
- \
- V(MathAcos, kNone) \
- V(MathAsin, kNone) \
- V(MathFround, kNone) \
- V(MathImul, kNone) \
- \
- V(ObjectAssign, kNone) \
- V(ObjectCreate, kNone) \
- V(ObjectDefineGetter, kNone) \
- V(ObjectDefineProperties, kNone) \
- V(ObjectDefineProperty, kNone) \
- V(ObjectDefineSetter, kNone) \
- V(ObjectEntries, kNone) \
- V(ObjectFreeze, kNone) \
- V(ObjectGetOwnPropertyDescriptor, kNone) \
- V(ObjectGetOwnPropertyDescriptors, kNone) \
- V(ObjectGetOwnPropertyNames, kNone) \
- V(ObjectGetOwnPropertySymbols, kNone) \
- V(ObjectGetPrototypeOf, kNone) \
- V(ObjectIs, kNone) \
- V(ObjectIsExtensible, kNone) \
- V(ObjectIsFrozen, kNone) \
- V(ObjectIsSealed, kNone) \
- V(ObjectKeys, kNone) \
- V(ObjectLookupGetter, kNone) \
- V(ObjectLookupSetter, kNone) \
- V(ObjectPreventExtensions, kNone) \
- V(ObjectProtoToString, kNone) \
- V(ObjectSeal, kNone) \
- V(ObjectValues, kNone) \
- \
- V(ProxyConstructor, kNone) \
- V(ProxyConstructor_ConstructStub, kTarget) \
- \
- V(ReflectDefineProperty, kNone) \
- V(ReflectDeleteProperty, kNone) \
- V(ReflectGet, kNone) \
- V(ReflectGetOwnPropertyDescriptor, kNone) \
- V(ReflectGetPrototypeOf, kNone) \
- V(ReflectHas, kNone) \
- V(ReflectIsExtensible, kNone) \
- V(ReflectOwnKeys, kNone) \
- V(ReflectPreventExtensions, kNone) \
- V(ReflectSet, kNone) \
- V(ReflectSetPrototypeOf, kNone) \
- \
- V(StringPrototypeTrim, kNone) \
- V(StringPrototypeTrimLeft, kNone) \
- V(StringPrototypeTrimRight, kNone) \
- \
- V(SymbolConstructor, kNone) \
- V(SymbolConstructor_ConstructStub, kTarget) \
- \
- V(TypedArrayPrototypeBuffer, kNone) \
- \
- V(HandleApiCall, kTargetAndNewTarget) \
- V(HandleApiCallAsFunction, kNone) \
- V(HandleApiCallAsConstructor, kNone) \
- \
- V(RestrictedFunctionPropertiesThrower, kNone) \
- V(RestrictedStrictArgumentsPropertiesThrower, kNone)
+#define BUILTIN_LIST_C(V) \
+ V(Illegal) \
+ \
+ V(EmptyFunction) \
+ \
+ V(ArrayConcat) \
+ V(ArrayPop) \
+ V(ArrayPush) \
+ V(ArrayShift) \
+ V(ArraySlice) \
+ V(ArraySplice) \
+ V(ArrayUnshift) \
+ \
+ V(ArrayBufferConstructor) \
+ V(ArrayBufferConstructor_ConstructStub) \
+ V(ArrayBufferIsView) \
+ \
+ V(BooleanConstructor) \
+ V(BooleanConstructor_ConstructStub) \
+ V(BooleanPrototypeToString) \
+ V(BooleanPrototypeValueOf) \
+ \
+ V(DataViewConstructor) \
+ V(DataViewConstructor_ConstructStub) \
+ V(DataViewPrototypeGetBuffer) \
+ V(DataViewPrototypeGetByteLength) \
+ V(DataViewPrototypeGetByteOffset) \
+ \
+ V(DateConstructor) \
+ V(DateConstructor_ConstructStub) \
+ V(DateNow) \
+ V(DateParse) \
+ V(DateUTC) \
+ V(DatePrototypeSetDate) \
+ V(DatePrototypeSetFullYear) \
+ V(DatePrototypeSetHours) \
+ V(DatePrototypeSetMilliseconds) \
+ V(DatePrototypeSetMinutes) \
+ V(DatePrototypeSetMonth) \
+ V(DatePrototypeSetSeconds) \
+ V(DatePrototypeSetTime) \
+ V(DatePrototypeSetUTCDate) \
+ V(DatePrototypeSetUTCFullYear) \
+ V(DatePrototypeSetUTCHours) \
+ V(DatePrototypeSetUTCMilliseconds) \
+ V(DatePrototypeSetUTCMinutes) \
+ V(DatePrototypeSetUTCMonth) \
+ V(DatePrototypeSetUTCSeconds) \
+ V(DatePrototypeToDateString) \
+ V(DatePrototypeToISOString) \
+ V(DatePrototypeToPrimitive) \
+ V(DatePrototypeToUTCString) \
+ V(DatePrototypeToString) \
+ V(DatePrototypeToTimeString) \
+ V(DatePrototypeValueOf) \
+ V(DatePrototypeGetYear) \
+ V(DatePrototypeSetYear) \
+ V(DatePrototypeToJson) \
+ \
+ V(FunctionConstructor) \
+ V(FunctionPrototypeBind) \
+ V(FunctionPrototypeToString) \
+ \
+ V(GeneratorFunctionConstructor) \
+ V(AsyncFunctionConstructor) \
+ \
+ V(GlobalDecodeURI) \
+ V(GlobalDecodeURIComponent) \
+ V(GlobalEncodeURI) \
+ V(GlobalEncodeURIComponent) \
+ V(GlobalEscape) \
+ V(GlobalUnescape) \
+ \
+ V(GlobalEval) \
+ \
+ V(JsonParse) \
+ V(JsonStringify) \
+ \
+ V(MathAcos) \
+ V(MathAsin) \
+ V(MathFround) \
+ V(MathImul) \
+ \
+ V(ObjectAssign) \
+ V(ObjectCreate) \
+ V(ObjectDefineGetter) \
+ V(ObjectDefineProperties) \
+ V(ObjectDefineProperty) \
+ V(ObjectDefineSetter) \
+ V(ObjectEntries) \
+ V(ObjectFreeze) \
+ V(ObjectGetOwnPropertyDescriptor) \
+ V(ObjectGetOwnPropertyDescriptors) \
+ V(ObjectGetOwnPropertyNames) \
+ V(ObjectGetOwnPropertySymbols) \
+ V(ObjectGetPrototypeOf) \
+ V(ObjectIs) \
+ V(ObjectIsExtensible) \
+ V(ObjectIsFrozen) \
+ V(ObjectIsSealed) \
+ V(ObjectKeys) \
+ V(ObjectLookupGetter) \
+ V(ObjectLookupSetter) \
+ V(ObjectPreventExtensions) \
+ V(ObjectProtoToString) \
+ V(ObjectSeal) \
+ V(ObjectValues) \
+ \
+ V(ProxyConstructor) \
+ V(ProxyConstructor_ConstructStub) \
+ \
+ V(ReflectDefineProperty) \
+ V(ReflectDeleteProperty) \
+ V(ReflectGet) \
+ V(ReflectGetOwnPropertyDescriptor) \
+ V(ReflectGetPrototypeOf) \
+ V(ReflectHas) \
+ V(ReflectIsExtensible) \
+ V(ReflectOwnKeys) \
+ V(ReflectPreventExtensions) \
+ V(ReflectSet) \
+ V(ReflectSetPrototypeOf) \
+ \
+ V(StringPrototypeTrim) \
+ V(StringPrototypeTrimLeft) \
+ V(StringPrototypeTrimRight) \
+ \
+ V(SymbolConstructor) \
+ V(SymbolConstructor_ConstructStub) \
+ \
+ V(TypedArrayPrototypeBuffer) \
+ \
+ V(HandleApiCall) \
+ V(HandleApiCallAsFunction) \
+ V(HandleApiCallAsConstructor) \
+ \
+ V(RestrictedFunctionPropertiesThrower) \
+ V(RestrictedStrictArgumentsPropertiesThrower)
// Define list of builtins implemented in assembly.
#define BUILTIN_LIST_A(V) \
@@ -381,7 +368,7 @@ class Builtins {
const char* Lookup(byte* pc);
enum Name {
-#define DEF_ENUM_C(name, ignore) k##name,
+#define DEF_ENUM_C(name) k##name,
#define DEF_ENUM_A(name, kind, extra) k##name,
#define DEF_ENUM_T(name, argc) k##name,
#define DEF_ENUM_S(name, kind, extra, interface_descriptor) k##name,
@@ -398,13 +385,13 @@ class Builtins {
};
enum CFunctionId {
-#define DEF_ENUM_C(name, ignore) c_##name,
+#define DEF_ENUM_C(name) c_##name,
BUILTIN_LIST_C(DEF_ENUM_C)
#undef DEF_ENUM_C
cfunction_count
};
-#define DECLARE_BUILTIN_ACCESSOR_C(name, ignore) Handle<Code> name();
+#define DECLARE_BUILTIN_ACCESSOR_C(name) Handle<Code> name();
#define DECLARE_BUILTIN_ACCESSOR_A(name, kind, extra) Handle<Code> name();
#define DECLARE_BUILTIN_ACCESSOR_T(name, argc) Handle<Code> name();
#define DECLARE_BUILTIN_ACCESSOR_S(name, kind, extra, interface_descriptor) \
@@ -469,9 +456,7 @@ class Builtins {
Object* builtins_[builtin_count];
const char* names_[builtin_count];
- static void Generate_Adaptor(MacroAssembler* masm,
- CFunctionId id,
- BuiltinExtraArguments extra_args);
+ static void Generate_Adaptor(MacroAssembler* masm, CFunctionId id);
static void Generate_AllocateInNewSpace(MacroAssembler* masm);
static void Generate_AllocateInOldSpace(MacroAssembler* masm);
static void Generate_ConstructedNonConstructable(MacroAssembler* masm);
« no previous file with comments | « src/arm64/builtins-arm64.cc ('k') | src/builtins.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698