Index: src/runtime.h |
diff --git a/src/runtime.h b/src/runtime.h |
index 494033bceca75bfebd9635852807e11ee84614d8..6820bf99f6dbdca64b8b4ed2138ce3523e2e6841 100644 |
--- a/src/runtime.h |
+++ b/src/runtime.h |
@@ -397,6 +397,91 @@ namespace internal { |
F(IsJSGlobalProxy, 1, 1) |
+#define RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \ |
+ /* String and Regexp */ \ |
+ F(NumberToStringRT, 1, 1) \ |
+ F(RegExpConstructResult, 3, 1) \ |
+ F(RegExpExecRT, 4, 1) \ |
+ F(StringAdd, 2, 1) \ |
+ F(SubString, 3, 1) \ |
+ F(StringCompare, 2, 1) \ |
+ F(StringCharCodeAtRT, 2, 1) \ |
+ F(GetFromCache, 2, 1) \ |
+ \ |
+ /* Compilation */ \ |
+ F(CompileUnoptimized, 1, 1) \ |
+ F(CompileOptimized, 2, 1) \ |
+ F(TryInstallOptimizedCode, 1, 1) \ |
+ F(NotifyDeoptimized, 1, 1) \ |
+ F(NotifyStubFailure, 0, 1) \ |
+ \ |
+ /* Utilities */ \ |
+ F(AllocateInNewSpace, 1, 1) \ |
+ F(AllocateInTargetSpace, 2, 1) \ |
+ F(AllocateHeapNumber, 0, 1) \ |
+ F(NumberToSmi, 1, 1) \ |
+ F(NumberToStringSkipCache, 1, 1) \ |
+ \ |
+ F(NewSloppyArguments, 3, 1) \ |
+ F(NewStrictArguments, 3, 1) \ |
+ \ |
+ /* Harmony generators */ \ |
+ F(CreateJSGeneratorObject, 0, 1) \ |
+ F(SuspendJSGeneratorObject, 1, 1) \ |
+ F(ResumeJSGeneratorObject, 3, 1) \ |
+ F(ThrowGeneratorStateError, 1, 1) \ |
+ \ |
+ /* Arrays */ \ |
+ F(ArrayConstructor, -1, 1) \ |
+ F(InternalArrayConstructor, -1, 1) \ |
+ \ |
+ /* Literals */ \ |
+ F(MaterializeRegExpLiteral, 4, 1)\ |
+ F(CreateObjectLiteral, 4, 1) \ |
+ F(CreateArrayLiteral, 4, 1) \ |
+ F(CreateArrayLiteralStubBailout, 3, 1) \ |
+ \ |
+ /* Statements */ \ |
+ F(NewClosure, 3, 1) \ |
+ F(NewClosureFromStubFailure, 1, 1) \ |
+ F(NewObject, 1, 1) \ |
+ F(NewObjectWithAllocationSite, 2, 1) \ |
+ F(FinalizeInstanceSize, 1, 1) \ |
+ F(Throw, 1, 1) \ |
+ F(ReThrow, 1, 1) \ |
+ F(ThrowReferenceError, 1, 1) \ |
+ F(ThrowNotDateError, 0, 1) \ |
+ F(StackGuard, 0, 1) \ |
+ F(Interrupt, 0, 1) \ |
+ F(PromoteScheduledException, 0, 1) \ |
+ \ |
+ /* Contexts */ \ |
+ F(NewGlobalContext, 2, 1) \ |
+ F(NewFunctionContext, 1, 1) \ |
+ F(PushWithContext, 2, 1) \ |
+ F(PushCatchContext, 3, 1) \ |
+ F(PushBlockContext, 2, 1) \ |
+ F(PushModuleContext, 2, 1) \ |
+ F(DeleteContextSlot, 2, 1) \ |
+ F(LoadContextSlot, 2, 2) \ |
+ F(LoadContextSlotNoReferenceError, 2, 2) \ |
+ F(StoreContextSlot, 4, 1) \ |
+ \ |
+ /* Declarations and initialization */ \ |
+ F(DeclareGlobals, 3, 1) \ |
+ F(DeclareModules, 1, 1) \ |
+ F(DeclareContextSlot, 4, 1) \ |
+ F(InitializeConstGlobal, 2, 1) \ |
+ F(InitializeConstContextSlot, 3, 1) \ |
+ \ |
+ /* Eval */ \ |
+ F(ResolvePossiblyDirectEval, 5, 2) \ |
+ \ |
+ /* Maths */ \ |
+ F(MathPowSlow, 2, 1) \ |
+ F(MathPowRT, 2, 1) |
+ |
+ |
#define RUNTIME_FUNCTION_LIST_DEBUGGER(F) \ |
/* Debugger support*/ \ |
F(DebugBreak, 0, 1) \ |
@@ -522,97 +607,11 @@ namespace internal { |
#define RUNTIME_FUNCTION_LIST(F) \ |
RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \ |
RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \ |
+ RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \ |
RUNTIME_FUNCTION_LIST_DEBUG(F) \ |
RUNTIME_FUNCTION_LIST_DEBUGGER(F) \ |
RUNTIME_FUNCTION_LIST_I18N_SUPPORT(F) |
-// RUNTIME_HIDDEN_FUNCTION_LIST defines all runtime functions accessed |
-// by id from code generator, but not via native call by name. |
-// Entries have the form F(name, number of arguments, number of return values). |
-#define RUNTIME_HIDDEN_FUNCTION_LIST(F) \ |
- /* String and Regexp */ \ |
- F(NumberToString, 1, 1) \ |
- F(RegExpConstructResult, 3, 1) \ |
- F(RegExpExec, 4, 1) \ |
- F(StringAdd, 2, 1) \ |
- F(SubString, 3, 1) \ |
- F(StringCompare, 2, 1) \ |
- F(StringCharCodeAt, 2, 1) \ |
- F(GetFromCache, 2, 1) \ |
- \ |
- /* Compilation */ \ |
- F(CompileUnoptimized, 1, 1) \ |
- F(CompileOptimized, 2, 1) \ |
- F(TryInstallOptimizedCode, 1, 1) \ |
- F(NotifyDeoptimized, 1, 1) \ |
- F(NotifyStubFailure, 0, 1) \ |
- \ |
- /* Utilities */ \ |
- F(AllocateInNewSpace, 1, 1) \ |
- F(AllocateInTargetSpace, 2, 1) \ |
- F(AllocateHeapNumber, 0, 1) \ |
- F(NumberToSmi, 1, 1) \ |
- F(NumberToStringSkipCache, 1, 1) \ |
- \ |
- F(NewSloppyArguments, 3, 1) \ |
- F(NewStrictArguments, 3, 1) \ |
- \ |
- /* Harmony generators */ \ |
- F(CreateJSGeneratorObject, 0, 1) \ |
- F(SuspendJSGeneratorObject, 1, 1) \ |
- F(ResumeJSGeneratorObject, 3, 1) \ |
- F(ThrowGeneratorStateError, 1, 1) \ |
- \ |
- /* Arrays */ \ |
- F(ArrayConstructor, -1, 1) \ |
- F(InternalArrayConstructor, -1, 1) \ |
- \ |
- /* Literals */ \ |
- F(MaterializeRegExpLiteral, 4, 1)\ |
- F(CreateObjectLiteral, 4, 1) \ |
- F(CreateArrayLiteral, 4, 1) \ |
- F(CreateArrayLiteralStubBailout, 3, 1) \ |
- \ |
- /* Statements */ \ |
- F(NewClosure, 3, 1) \ |
- F(NewClosureFromStubFailure, 1, 1) \ |
- F(NewObject, 1, 1) \ |
- F(NewObjectWithAllocationSite, 2, 1) \ |
- F(FinalizeInstanceSize, 1, 1) \ |
- F(Throw, 1, 1) \ |
- F(ReThrow, 1, 1) \ |
- F(ThrowReferenceError, 1, 1) \ |
- F(ThrowNotDateError, 0, 1) \ |
- F(StackGuard, 0, 1) \ |
- F(Interrupt, 0, 1) \ |
- F(PromoteScheduledException, 0, 1) \ |
- \ |
- /* Contexts */ \ |
- F(NewGlobalContext, 2, 1) \ |
- F(NewFunctionContext, 1, 1) \ |
- F(PushWithContext, 2, 1) \ |
- F(PushCatchContext, 3, 1) \ |
- F(PushBlockContext, 2, 1) \ |
- F(PushModuleContext, 2, 1) \ |
- F(DeleteContextSlot, 2, 1) \ |
- F(LoadContextSlot, 2, 2) \ |
- F(LoadContextSlotNoReferenceError, 2, 2) \ |
- F(StoreContextSlot, 4, 1) \ |
- \ |
- /* Declarations and initialization */ \ |
- F(DeclareGlobals, 3, 1) \ |
- F(DeclareModules, 1, 1) \ |
- F(DeclareContextSlot, 4, 1) \ |
- F(InitializeConstGlobal, 2, 1) \ |
- F(InitializeConstContextSlot, 3, 1) \ |
- \ |
- /* Eval */ \ |
- F(ResolvePossiblyDirectEval, 5, 2) \ |
- \ |
- /* Maths */ \ |
- F(MathPowSlow, 2, 1) \ |
- F(MathPow, 2, 1) |
- |
// ---------------------------------------------------------------------------- |
// INLINE_FUNCTION_LIST defines all inlined functions accessed |
// with a native call of the form %_name from within JS code. |
@@ -737,9 +736,6 @@ class Runtime : public AllStatic { |
RUNTIME_FUNCTION_LIST(F) |
INLINE_OPTIMIZED_FUNCTION_LIST(F) |
#undef F |
-#define F(name, nargs, ressize) kHidden##name, |
- RUNTIME_HIDDEN_FUNCTION_LIST(F) |
-#undef F |
#define F(name, nargs, ressize) kInline##name, |
INLINE_FUNCTION_LIST(F) |
#undef F |
@@ -752,7 +748,6 @@ class Runtime : public AllStatic { |
enum IntrinsicType { |
RUNTIME, |
- RUNTIME_HIDDEN, |
INLINE, |
INLINE_OPTIMIZED |
}; |