| Index: src/parser.cc
|
| diff --git a/src/parser.cc b/src/parser.cc
|
| index 4fad6e44f64c6689f2e41b2972c14e84275b0d51..cf84bfab3758b3be6e81fd490f388c5a3aed1c5a 100644
|
| --- a/src/parser.cc
|
| +++ b/src/parser.cc
|
| @@ -576,7 +576,7 @@ Parser::Parser(Handle<Script> script,
|
| : isolate_(script->GetIsolate()),
|
| symbol_cache_(pre_data ? pre_data->symbol_count() : 0),
|
| script_(script),
|
| - scanner_(isolate_->scanner_constants()),
|
| + scanner_(isolate_->unicode_cache()),
|
| top_scope_(NULL),
|
| with_nesting_level_(0),
|
| lexical_scope_(NULL),
|
| @@ -2894,7 +2894,8 @@ Expression* Parser::ParsePrimaryExpression(bool* ok) {
|
| case Token::NUMBER: {
|
| Consume(Token::NUMBER);
|
| ASSERT(scanner().is_literal_ascii());
|
| - double value = StringToDouble(scanner().literal_ascii_string(),
|
| + double value = StringToDouble(isolate()->unicode_cache(),
|
| + scanner().literal_ascii_string(),
|
| ALLOW_HEX | ALLOW_OCTALS);
|
| result = NewNumberLiteral(value);
|
| break;
|
| @@ -3392,7 +3393,8 @@ Expression* Parser::ParseObjectLiteral(bool* ok) {
|
| case Token::NUMBER: {
|
| Consume(Token::NUMBER);
|
| ASSERT(scanner().is_literal_ascii());
|
| - double value = StringToDouble(scanner().literal_ascii_string(),
|
| + double value = StringToDouble(isolate()->unicode_cache(),
|
| + scanner().literal_ascii_string(),
|
| ALLOW_HEX | ALLOW_OCTALS);
|
| key = NewNumberLiteral(value);
|
| break;
|
| @@ -5056,7 +5058,7 @@ static ScriptDataImpl* DoPreParse(UC16CharacterStream* source,
|
| bool allow_lazy,
|
| ParserRecorder* recorder) {
|
| Isolate* isolate = Isolate::Current();
|
| - V8JavaScriptScanner scanner(isolate->scanner_constants());
|
| + V8JavaScriptScanner scanner(isolate->unicode_cache());
|
| scanner.Initialize(source);
|
| intptr_t stack_limit = isolate->stack_guard()->real_climit();
|
| if (!preparser::PreParser::PreParseProgram(&scanner,
|
|
|