diff options
author | Trevor Norris <trev.norris@gmail.com> | 2013-03-18 13:49:34 -0700 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2013-03-20 01:11:01 +0100 |
commit | 83261e789eb903da39f279cb5a161611482e7df5 (patch) | |
tree | 4133b5ca9f53bed4365e1a94544a227d68a0cf12 /deps/v8/src/builtins.h | |
parent | a05f973f82d2be8527aad4c371d40d3c7e4c564e (diff) | |
download | node-new-83261e789eb903da39f279cb5a161611482e7df5.tar.gz |
deps: update v8 to 3.17.13
Diffstat (limited to 'deps/v8/src/builtins.h')
-rw-r--r-- | deps/v8/src/builtins.h | 116 |
1 files changed, 69 insertions, 47 deletions
diff --git a/deps/v8/src/builtins.h b/deps/v8/src/builtins.h index ca70ae5403..12ed56af79 100644 --- a/deps/v8/src/builtins.h +++ b/deps/v8/src/builtins.h @@ -38,6 +38,25 @@ enum BuiltinExtraArguments { }; +#define CODE_AGE_LIST_WITH_ARG(V, A) \ + V(Quadragenarian, A) \ + V(Quinquagenarian, A) \ + V(Sexagenarian, A) \ + V(Septuagenarian, A) \ + V(Octogenarian, A) + +#define CODE_AGE_LIST_IGNORE_ARG(X, V) V(X) + +#define CODE_AGE_LIST(V) \ + CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V) + +#define DECLARE_CODE_AGE_BUILTIN(C, V) \ + V(Make##C##CodeYoungAgainOddMarking, BUILTIN, \ + UNINITIALIZED, Code::kNoExtraICState) \ + V(Make##C##CodeYoungAgainEvenMarking, BUILTIN, \ + UNINITIALIZED, Code::kNoExtraICState) + + // Define list of builtins implemented in C++. #define BUILTIN_LIST_C(V) \ V(Illegal, NO_EXTRA_ARGUMENTS) \ @@ -68,6 +87,8 @@ enum BuiltinExtraArguments { Code::kNoExtraICState) \ V(InRecompileQueue, BUILTIN, UNINITIALIZED, \ Code::kNoExtraICState) \ + V(InstallRecompiledCode, BUILTIN, UNINITIALIZED, \ + Code::kNoExtraICState) \ V(JSConstructStubCountdown, BUILTIN, UNINITIALIZED, \ Code::kNoExtraICState) \ V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, \ @@ -88,6 +109,8 @@ enum BuiltinExtraArguments { Code::kNoExtraICState) \ V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, \ Code::kNoExtraICState) \ + V(NotifyStubFailure, BUILTIN, UNINITIALIZED, \ + Code::kNoExtraICState) \ V(NotifyOSR, BUILTIN, UNINITIALIZED, \ Code::kNoExtraICState) \ \ @@ -113,14 +136,6 @@ enum BuiltinExtraArguments { Code::kNoExtraICState) \ V(LoadIC_Normal, LOAD_IC, MONOMORPHIC, \ Code::kNoExtraICState) \ - V(LoadIC_ArrayLength, LOAD_IC, MONOMORPHIC, \ - Code::kNoExtraICState) \ - V(LoadIC_StringLength, LOAD_IC, MONOMORPHIC, \ - Code::kNoExtraICState) \ - V(LoadIC_StringWrapperLength, LOAD_IC, MONOMORPHIC, \ - Code::kNoExtraICState) \ - V(LoadIC_FunctionPrototype, LOAD_IC, MONOMORPHIC, \ - Code::kNoExtraICState) \ V(LoadIC_Megamorphic, LOAD_IC, MEGAMORPHIC, \ Code::kNoExtraICState) \ V(LoadIC_Getter_ForDeopt, LOAD_IC, MONOMORPHIC, \ @@ -130,48 +145,44 @@ enum BuiltinExtraArguments { Code::kNoExtraICState) \ V(KeyedLoadIC_PreMonomorphic, KEYED_LOAD_IC, PREMONOMORPHIC, \ Code::kNoExtraICState) \ - V(KeyedLoadIC_Generic, KEYED_LOAD_IC, MEGAMORPHIC, \ + V(KeyedLoadIC_Generic, KEYED_LOAD_IC, GENERIC, \ Code::kNoExtraICState) \ V(KeyedLoadIC_String, KEYED_LOAD_IC, MEGAMORPHIC, \ Code::kNoExtraICState) \ - V(KeyedLoadIC_IndexedInterceptor, KEYED_LOAD_IC, MEGAMORPHIC, \ + V(KeyedLoadIC_IndexedInterceptor, KEYED_LOAD_IC, MONOMORPHIC, \ Code::kNoExtraICState) \ - V(KeyedLoadIC_NonStrictArguments, KEYED_LOAD_IC, MEGAMORPHIC, \ + V(KeyedLoadIC_NonStrictArguments, KEYED_LOAD_IC, MONOMORPHIC, \ Code::kNoExtraICState) \ \ V(StoreIC_Initialize, STORE_IC, UNINITIALIZED, \ Code::kNoExtraICState) \ - V(StoreIC_ArrayLength, STORE_IC, MONOMORPHIC, \ - Code::kNoExtraICState) \ V(StoreIC_Normal, STORE_IC, MONOMORPHIC, \ Code::kNoExtraICState) \ V(StoreIC_Megamorphic, STORE_IC, MEGAMORPHIC, \ Code::kNoExtraICState) \ - V(StoreIC_GlobalProxy, STORE_IC, MEGAMORPHIC, \ + V(StoreIC_GlobalProxy, STORE_IC, GENERIC, \ Code::kNoExtraICState) \ V(StoreIC_Initialize_Strict, STORE_IC, UNINITIALIZED, \ kStrictMode) \ - V(StoreIC_ArrayLength_Strict, STORE_IC, MONOMORPHIC, \ - kStrictMode) \ V(StoreIC_Normal_Strict, STORE_IC, MONOMORPHIC, \ kStrictMode) \ V(StoreIC_Megamorphic_Strict, STORE_IC, MEGAMORPHIC, \ kStrictMode) \ - V(StoreIC_GlobalProxy_Strict, STORE_IC, MEGAMORPHIC, \ + V(StoreIC_GlobalProxy_Strict, STORE_IC, GENERIC, \ kStrictMode) \ V(StoreIC_Setter_ForDeopt, STORE_IC, MONOMORPHIC, \ kStrictMode) \ \ V(KeyedStoreIC_Initialize, KEYED_STORE_IC, UNINITIALIZED, \ Code::kNoExtraICState) \ - V(KeyedStoreIC_Generic, KEYED_STORE_IC, MEGAMORPHIC, \ + V(KeyedStoreIC_Generic, KEYED_STORE_IC, GENERIC, \ Code::kNoExtraICState) \ \ V(KeyedStoreIC_Initialize_Strict, KEYED_STORE_IC, UNINITIALIZED, \ kStrictMode) \ - V(KeyedStoreIC_Generic_Strict, KEYED_STORE_IC, MEGAMORPHIC, \ + V(KeyedStoreIC_Generic_Strict, KEYED_STORE_IC, GENERIC, \ kStrictMode) \ - V(KeyedStoreIC_NonStrictArguments, KEYED_STORE_IC, MEGAMORPHIC, \ + V(KeyedStoreIC_NonStrictArguments, KEYED_STORE_IC, MONOMORPHIC, \ Code::kNoExtraICState) \ V(TransitionElementsSmiToDouble, BUILTIN, UNINITIALIZED, \ Code::kNoExtraICState) \ @@ -195,36 +206,36 @@ enum BuiltinExtraArguments { Code::kNoExtraICState) \ \ V(OnStackReplacement, BUILTIN, UNINITIALIZED, \ - Code::kNoExtraICState) - + Code::kNoExtraICState) \ + CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V) #ifdef ENABLE_DEBUGGER_SUPPORT // Define list of builtins used by the debugger implemented in assembly. -#define BUILTIN_LIST_DEBUG_A(V) \ - V(Return_DebugBreak, BUILTIN, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(CallFunctionStub_DebugBreak, BUILTIN, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(CallFunctionStub_Recording_DebugBreak, BUILTIN, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(CallConstructStub_DebugBreak, BUILTIN, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(CallConstructStub_Recording_DebugBreak, BUILTIN, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(LoadIC_DebugBreak, LOAD_IC, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(KeyedLoadIC_DebugBreak, KEYED_LOAD_IC, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(StoreIC_DebugBreak, STORE_IC, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(KeyedStoreIC_DebugBreak, KEYED_STORE_IC, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(Slot_DebugBreak, BUILTIN, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(PlainReturn_LiveEdit, BUILTIN, DEBUG_BREAK, \ - Code::kNoExtraICState) \ - V(FrameDropper_LiveEdit, BUILTIN, DEBUG_BREAK, \ - Code::kNoExtraICState) +#define BUILTIN_LIST_DEBUG_A(V) \ + V(Return_DebugBreak, BUILTIN, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(CallFunctionStub_DebugBreak, BUILTIN, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(CallFunctionStub_Recording_DebugBreak, BUILTIN, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(CallConstructStub_DebugBreak, BUILTIN, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(CallConstructStub_Recording_DebugBreak, BUILTIN, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(LoadIC_DebugBreak, LOAD_IC, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(KeyedLoadIC_DebugBreak, KEYED_LOAD_IC, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(StoreIC_DebugBreak, STORE_IC, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(KeyedStoreIC_DebugBreak, KEYED_STORE_IC, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(Slot_DebugBreak, BUILTIN, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(PlainReturn_LiveEdit, BUILTIN, DEBUG_STUB, \ + DEBUG_BREAK) \ + V(FrameDropper_LiveEdit, BUILTIN, DEBUG_STUB, \ + DEBUG_BREAK) #else #define BUILTIN_LIST_DEBUG_A(V) #endif @@ -263,6 +274,7 @@ enum BuiltinExtraArguments { V(APPLY_PREPARE, 1) \ V(APPLY_OVERFLOW, 1) +MaybeObject* ArrayConstructor_StubFailure(Arguments args, Isolate* isolate); class BuiltinFunctionTable; class ObjectVisitor; @@ -356,6 +368,7 @@ class Builtins { CFunctionId id, BuiltinExtraArguments extra_args); static void Generate_InRecompileQueue(MacroAssembler* masm); + static void Generate_InstallRecompiledCode(MacroAssembler* masm); static void Generate_ParallelRecompile(MacroAssembler* masm); static void Generate_JSConstructStubCountdown(MacroAssembler* masm); static void Generate_JSConstructStubGeneric(MacroAssembler* masm); @@ -367,6 +380,7 @@ class Builtins { static void Generate_NotifyDeoptimized(MacroAssembler* masm); static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm); static void Generate_NotifyOSR(MacroAssembler* masm); + static void Generate_NotifyStubFailure(MacroAssembler* masm); static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); static void Generate_FunctionCall(MacroAssembler* masm); @@ -379,6 +393,14 @@ class Builtins { static void Generate_StringConstructCode(MacroAssembler* masm); static void Generate_OnStackReplacement(MacroAssembler* masm); +#define DECLARE_CODE_AGE_BUILTIN_GENERATOR(C) \ + static void Generate_Make##C##CodeYoungAgainEvenMarking( \ + MacroAssembler* masm); \ + static void Generate_Make##C##CodeYoungAgainOddMarking( \ + MacroAssembler* masm); + CODE_AGE_LIST(DECLARE_CODE_AGE_BUILTIN_GENERATOR) +#undef DECLARE_CODE_AGE_BUILTIN_GENERATOR + static void InitBuiltinFunctionTable(); bool initialized_; |