Chromium Code Reviews| Index: src/runtime.h |
| diff --git a/src/runtime.h b/src/runtime.h |
| index 18509bdc5cd723fd735e330f1ae46a442744c67d..296df164f7857bc781badf196317116f5375936c 100644 |
| --- a/src/runtime.h |
| +++ b/src/runtime.h |
| @@ -137,6 +137,7 @@ namespace internal { |
| F(NumberToJSUint32, 1, 1) \ |
| F(NumberToJSInt32, 1, 1) \ |
| F(NumberToSmi, 1, 1) \ |
| + F(NumberToStringInternal, 1, 1) \ |
| F(AllocateHeapNumber, 0, 1) \ |
| \ |
| /* Arithmetic operations */ \ |
| @@ -187,6 +188,8 @@ namespace internal { |
| F(RegExpCompile, 3, 1) \ |
| F(RegExpExecMultiple, 4, 1) \ |
| F(RegExpInitializeObject, 5, 1) \ |
| + F(RegExpConstructResultInternal, 3, 1) \ |
| + F(RegExpExecInternal, 4, 1) \ |
| \ |
| /* JSON */ \ |
| F(ParseJson, 1, 1) \ |
| @@ -205,6 +208,10 @@ namespace internal { |
| F(NewStringWrapper, 1, 1) \ |
| F(NewString, 2, 1) \ |
| F(TruncateString, 2, 1) \ |
| + F(StringAddInternal, 2, 1) \ |
| + F(SubStringInternal, 3, 1) \ |
| + F(StringCompareInternal, 2, 1) \ |
| + F(StringCharCodeAtInternal, 2, 1) \ |
| \ |
| /* Numbers */ \ |
| F(NumberToRadixString, 2, 1) \ |
| @@ -263,6 +270,8 @@ namespace internal { |
| /* Globals */ \ |
| F(CompileString, 2, 1) \ |
| F(GlobalPrint, 1, 1) \ |
| + F(LogInternal, 3, 1) \ |
| + F(GetFromCacheInternal, 2, 1) \ |
| \ |
| /* Eval */ \ |
| F(GlobalReceiver, 1, 1) \ |
| @@ -600,7 +609,7 @@ namespace internal { |
| RUNTIME_FUNCTION_LIST_DEBUG(F) \ |
| RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) \ |
| RUNTIME_FUNCTION_LIST_I18N_SUPPORT(F) \ |
| - INLINE_RUNTIME_FUNCTION_LIST(F) |
| + INLINE_OPTIMIZED_FUNCTION_LIST(F) |
| // ---------------------------------------------------------------------------- |
| // INLINE_FUNCTION_LIST defines all inlined functions accessed |
| @@ -638,15 +647,6 @@ namespace internal { |
| F(GeneratorNext, 2, 1) \ |
| F(GeneratorThrow, 2, 1) \ |
| F(DebugBreakInOptimizedCode, 0, 1) \ |
| - INLINE_RUNTIME_FUNCTION_LIST(F) |
| - |
| - |
| -// ---------------------------------------------------------------------------- |
| -// INLINE_RUNTIME_FUNCTION_LIST defines all inlined functions accessed |
| -// with a native call of the form %_name from within JS code that also have |
| -// a corresponding runtime function, that is called for slow cases. |
| -// Entries have the form F(name, number of arguments, number of return values). |
| -#define INLINE_RUNTIME_FUNCTION_LIST(F) \ |
|
Yang
2014/03/24 14:04:02
Entries in this list are expanded to kFoo and kInl
|
| F(ClassOf, 1, 1) \ |
| F(StringCharCodeAt, 2, 1) \ |
| F(Log, 3, 1) \ |
| @@ -656,7 +656,15 @@ namespace internal { |
| F(RegExpExec, 4, 1) \ |
| F(RegExpConstructResult, 3, 1) \ |
| F(GetFromCache, 2, 1) \ |
| - F(NumberToString, 1, 1) \ |
| + F(NumberToString, 1, 1) |
| + |
| + |
| +// ---------------------------------------------------------------------------- |
| +// INLINE_OPTIMIZED_FUNCTION_LIST defines all inlined functions accessed |
| +// with a native call of the form %_name from within JS code that also have |
| +// a corresponding runtime function, that is called from non-optimized code. |
| +// Entries have the form F(name, number of arguments, number of return values). |
| +#define INLINE_OPTIMIZED_FUNCTION_LIST(F) \ |
| F(DoubleHi, 1, 1) \ |
| F(DoubleLo, 1, 1) \ |
| F(ConstructDouble, 2, 1) \ |
| @@ -719,13 +727,17 @@ class Runtime : public AllStatic { |
| #define F(name, nargs, ressize) kInline##name, |
| INLINE_FUNCTION_LIST(F) |
| #undef F |
| +#define F(name, nargs, ressize) kInlineOptimized##name, |
| + INLINE_OPTIMIZED_FUNCTION_LIST(F) |
| +#undef F |
| kNumFunctions, |
| kFirstInlineFunction = kInlineIsSmi |
| }; |
| enum IntrinsicType { |
| RUNTIME, |
| - INLINE |
| + INLINE, |
| + INLINE_OPTIMIZED |
| }; |
| // Intrinsic function descriptor. |