Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: src/parsing/parser.cc

Issue 2687973003: Revert of [Compiler] Enable handles created during parsing and scope analysis to be deferred. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/parsing/parser.h ('k') | src/parsing/parsing.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/parsing/parser.h" 5 #include "src/parsing/parser.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "src/api.h" 9 #include "src/api.h"
10 #include "src/ast/ast-expression-rewriter.h" 10 #include "src/ast/ast-expression-rewriter.h"
(...skipping 3343 matching lines...) Expand 10 before | Expand all | Expand 10 after
3354 Handle<String> source_url = scanner_.SourceUrl(isolate); 3354 Handle<String> source_url = scanner_.SourceUrl(isolate);
3355 if (!source_url.is_null()) { 3355 if (!source_url.is_null()) {
3356 script->set_source_url(*source_url); 3356 script->set_source_url(*source_url);
3357 } 3357 }
3358 Handle<String> source_mapping_url = scanner_.SourceMappingUrl(isolate); 3358 Handle<String> source_mapping_url = scanner_.SourceMappingUrl(isolate);
3359 if (!source_mapping_url.is_null()) { 3359 if (!source_mapping_url.is_null()) {
3360 script->set_source_mapping_url(*source_mapping_url); 3360 script->set_source_mapping_url(*source_mapping_url);
3361 } 3361 }
3362 } 3362 }
3363 3363
3364 void Parser::ReportErrors(Isolate* isolate, Handle<Script> script) { 3364
3365 if (stack_overflow()) { 3365 void Parser::Internalize(Isolate* isolate, Handle<Script> script, bool error) {
3366 isolate->StackOverflow(); 3366 // Internalize strings and values.
3367 } else { 3367 ast_value_factory()->Internalize(isolate);
3368 DCHECK(pending_error_handler_.has_pending_error()); 3368
3369 // Internalize ast values for throwing the pending error. 3369 // Error processing.
3370 ast_value_factory()->Internalize(isolate); 3370 if (error) {
3371 pending_error_handler_.ThrowPendingError(isolate, script); 3371 if (stack_overflow()) {
3372 isolate->StackOverflow();
3373 } else {
3374 DCHECK(pending_error_handler_.has_pending_error());
3375 pending_error_handler_.ThrowPendingError(isolate, script);
3376 }
3372 } 3377 }
3373 }
3374 3378
3375 void Parser::UpdateStatistics(Isolate* isolate, Handle<Script> script) {
3376 // Move statistics to Isolate. 3379 // Move statistics to Isolate.
3377 for (int feature = 0; feature < v8::Isolate::kUseCounterFeatureCount; 3380 for (int feature = 0; feature < v8::Isolate::kUseCounterFeatureCount;
3378 ++feature) { 3381 ++feature) {
3379 if (use_counts_[feature] > 0) { 3382 if (use_counts_[feature] > 0) {
3380 isolate->CountUsage(v8::Isolate::UseCounterFeature(feature)); 3383 isolate->CountUsage(v8::Isolate::UseCounterFeature(feature));
3381 } 3384 }
3382 } 3385 }
3383 if (scanner_.FoundHtmlComment()) { 3386 if (scanner_.FoundHtmlComment()) {
3384 isolate->CountUsage(v8::Isolate::kHtmlComment); 3387 isolate->CountUsage(v8::Isolate::kHtmlComment);
3385 if (script->line_offset() == 0 && script->column_offset() == 0) { 3388 if (script->line_offset() == 0 && script->column_offset() == 0) {
(...skipping 1637 matching lines...) Expand 10 before | Expand all | Expand 10 after
5023 5026
5024 return final_loop; 5027 return final_loop;
5025 } 5028 }
5026 5029
5027 #undef CHECK_OK 5030 #undef CHECK_OK
5028 #undef CHECK_OK_VOID 5031 #undef CHECK_OK_VOID
5029 #undef CHECK_FAILED 5032 #undef CHECK_FAILED
5030 5033
5031 } // namespace internal 5034 } // namespace internal
5032 } // namespace v8 5035 } // namespace v8
OLDNEW
« no previous file with comments | « src/parsing/parser.h ('k') | src/parsing/parsing.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698