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

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

Issue 2650883002: Reland: [Compiler] Enable handles created during parsing and scope analysis to be deferred. (Closed)
Patch Set: Remove unused variable 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) {
3365 if (stack_overflow()) {
3366 isolate->StackOverflow();
3367 } else {
3368 DCHECK(pending_error_handler_.has_pending_error());
3369 // Internalize ast values for throwing the pending error.
3370 ast_value_factory()->Internalize(isolate);
3371 pending_error_handler_.ThrowPendingError(isolate, script);
3372 }
3373 }
3364 3374
3365 void Parser::Internalize(Isolate* isolate, Handle<Script> script, bool error) { 3375 void Parser::UpdateStatistics(Isolate* isolate, Handle<Script> script) {
3366 // Internalize strings and values.
3367 ast_value_factory()->Internalize(isolate);
3368
3369 // Error processing.
3370 if (error) {
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 }
3377 }
3378
3379 // Move statistics to Isolate. 3376 // Move statistics to Isolate.
3380 for (int feature = 0; feature < v8::Isolate::kUseCounterFeatureCount; 3377 for (int feature = 0; feature < v8::Isolate::kUseCounterFeatureCount;
3381 ++feature) { 3378 ++feature) {
3382 if (use_counts_[feature] > 0) { 3379 if (use_counts_[feature] > 0) {
3383 isolate->CountUsage(v8::Isolate::UseCounterFeature(feature)); 3380 isolate->CountUsage(v8::Isolate::UseCounterFeature(feature));
3384 } 3381 }
3385 } 3382 }
3386 if (scanner_.FoundHtmlComment()) { 3383 if (scanner_.FoundHtmlComment()) {
3387 isolate->CountUsage(v8::Isolate::kHtmlComment); 3384 isolate->CountUsage(v8::Isolate::kHtmlComment);
3388 if (script->line_offset() == 0 && script->column_offset() == 0) { 3385 if (script->line_offset() == 0 && script->column_offset() == 0) {
(...skipping 1637 matching lines...) Expand 10 before | Expand all | Expand 10 after
5026 5023
5027 return final_loop; 5024 return final_loop;
5028 } 5025 }
5029 5026
5030 #undef CHECK_OK 5027 #undef CHECK_OK
5031 #undef CHECK_OK_VOID 5028 #undef CHECK_OK_VOID
5032 #undef CHECK_FAILED 5029 #undef CHECK_FAILED
5033 5030
5034 } // namespace internal 5031 } // namespace internal
5035 } // namespace v8 5032 } // 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