Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index b4c34ef76922cf8b997b6ecd72f34c88d85e3587..cab1341541c47677fd1d4cec948228a45511e3d6 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -2521,7 +2521,7 @@ RUNTIME_FUNCTION(MaybeObject*, |
} |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpExec) { |
+RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_RegExpExec) { |
HandleScope scope(isolate); |
ASSERT(args.length() == 4); |
CONVERT_ARG_HANDLE_CHECKED(JSRegExp, regexp, 0); |
@@ -2542,7 +2542,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpExec) { |
} |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpConstructResult) { |
+RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_RegExpConstructResult) { |
SealHandleScope shs(isolate); |
ASSERT(args.length() == 3); |
CONVERT_SMI_ARG_CHECKED(elements_count, 0); |
@@ -3204,7 +3204,7 @@ MUST_USE_RESULT static MaybeObject* CharFromCode(Isolate* isolate, |
} |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_StringCharCodeAt) { |
+RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_StringCharCodeAt) { |
SealHandleScope shs(isolate); |
ASSERT(args.length() == 2); |
@@ -4471,7 +4471,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringLocaleCompare) { |
} |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_SubString) { |
+RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_SubString) { |
HandleScope scope(isolate); |
ASSERT(args.length() == 3); |
@@ -6831,7 +6831,7 @@ bool Runtime::IsUpperCaseChar(RuntimeState* runtime_state, uint16_t ch) { |
} |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberToString) { |
+RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_NumberToString) { |
SealHandleScope shs(isolate); |
ASSERT(args.length() == 1); |
@@ -7035,7 +7035,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NumberImul) { |
} |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_StringAdd) { |
+RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_StringAdd) { |
HandleScope scope(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_HANDLE_CHECKED(String, str1, 0); |
@@ -7655,7 +7655,7 @@ static Object* FlatStringCompare(String* x, String* y) { |
} |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_StringCompare) { |
+RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_StringCompare) { |
SealHandleScope shs(isolate); |
ASSERT(args.length() == 2); |
@@ -14486,7 +14486,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_TryMigrateInstance) { |
} |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFromCache) { |
+RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_GetFromCache) { |
SealHandleScope shs(isolate); |
// This is only called from codegen, so checks might be more lax. |
CONVERT_ARG_CHECKED(JSFunctionResultCache, cache, 0); |
@@ -14644,7 +14644,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ListNatives) { |
#endif |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_Log) { |
+RUNTIME_FUNCTION(MaybeObject*, RuntimeHidden_Log) { |
HandleScope handle_scope(isolate); |
ASSERT(args.length() == 2); |
CONVERT_ARG_HANDLE_CHECKED(String, format, 0); |
@@ -14989,16 +14989,31 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_MaxSmi) { |
FUNCTION_ADDR(Runtime_##name), number_of_args, result_size }, |
+#define FH(name, number_of_args, result_size) \ |
+ { Runtime::kHidden##name, Runtime::RUNTIME_HIDDEN, NULL, \ |
+ FUNCTION_ADDR(RuntimeHidden_##name), number_of_args, result_size }, |
+ |
+ |
#define I(name, number_of_args, result_size) \ |
{ Runtime::kInline##name, Runtime::INLINE, \ |
"_" #name, NULL, number_of_args, result_size }, |
+ |
+#define IO(name, number_of_args, result_size) \ |
+ { Runtime::kInlineOptimized##name, Runtime::INLINE_OPTIMIZED, \ |
+ "_" #name, FUNCTION_ADDR(Runtime_##name), number_of_args, result_size }, |
+ |
+ |
static const Runtime::Function kIntrinsicFunctions[] = { |
RUNTIME_FUNCTION_LIST(F) |
+ RUNTIME_HIDDEN_FUNCTION_LIST(FH) |
INLINE_FUNCTION_LIST(I) |
+ INLINE_OPTIMIZED_FUNCTION_LIST(IO) |
}; |
+#undef IO |
#undef I |
+#undef FH |
#undef F |
@@ -15007,9 +15022,11 @@ MaybeObject* Runtime::InitializeIntrinsicFunctionNames(Heap* heap, |
ASSERT(dictionary != NULL); |
ASSERT(NameDictionary::cast(dictionary)->NumberOfElements() == 0); |
for (int i = 0; i < kNumFunctions; ++i) { |
+ const char* name = kIntrinsicFunctions[i].name; |
+ if (name == NULL) continue; |
Object* name_string; |
{ MaybeObject* maybe_name_string = |
- heap->InternalizeUtf8String(kIntrinsicFunctions[i].name); |
+ heap->InternalizeUtf8String(name); |
if (!maybe_name_string->ToObject(&name_string)) return maybe_name_string; |
} |
NameDictionary* name_dictionary = NameDictionary::cast(dictionary); |