Index: src/parsing/parser.cc |
diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc |
index e027ffc10b6548c546fec824c14082bba0504c11..4bc770398c79a2f52c2a39cead6a59011b19694c 100644 |
--- a/src/parsing/parser.cc |
+++ b/src/parsing/parser.cc |
@@ -515,12 +515,14 @@ Expression* Parser::NewV8Intrinsic(const AstRawString* name, |
GetClosureScope()->ForceEagerCompilation(); |
} |
- const Runtime::Function* function = Runtime::FunctionForName(name->string()); |
+ DCHECK(name->is_one_byte()); |
+ const Runtime::Function* function = |
+ Runtime::FunctionForName(name->raw_data(), name->length()); |
if (function != nullptr) { |
// Check for possible name clash. |
DCHECK_EQ(Context::kNotFound, |
- Context::IntrinsicIndexForName(name->string())); |
+ Context::IntrinsicIndexForName(name->raw_data(), name->length())); |
// Check for built-in IS_VAR macro. |
if (function->function_id == Runtime::kIS_VAR) { |
DCHECK_EQ(Runtime::RUNTIME, function->intrinsic_type); |
@@ -546,7 +548,8 @@ Expression* Parser::NewV8Intrinsic(const AstRawString* name, |
return factory()->NewCallRuntime(function, args, pos); |
} |
- int context_index = Context::IntrinsicIndexForName(name->string()); |
+ int context_index = |
+ Context::IntrinsicIndexForName(name->raw_data(), name->length()); |
// Check that the function is defined. |
if (context_index == Context::kNotFound) { |
@@ -4436,12 +4439,6 @@ bool Parser::Parse(ParseInfo* info) { |
DCHECK(parsing_on_main_thread_); |
Isolate* isolate = info->isolate(); |
pre_parse_timer_ = isolate->counters()->pre_parse(); |
- if (FLAG_trace_parse || allow_natives() || extension_ != NULL) { |
- // If intrinsics are allowed, the Parser cannot operate independent of the |
- // V8 heap because of Runtime. Tell the string table to internalize strings |
- // and values right after they're created. |
- ast_value_factory()->Internalize(isolate); |
- } |
if (info->is_lazy()) { |
DCHECK(!info->is_eval()); |