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

Side by Side Diff: src/compiler.cc

Issue 2406803003: Get rid of ParseInfo::lazy (Closed)
Patch Set: restore dcheck Created 4 years, 2 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/background-parsing-task.cc ('k') | src/compiler-dispatcher/compiler-dispatcher-job.cc » ('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/compiler.h" 5 #include "src/compiler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 9
10 #include "src/asmjs/asm-js.h" 10 #include "src/asmjs/asm-js.h"
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 if (isolate->has_pending_exception()) isolate->clear_pending_exception(); 702 if (isolate->has_pending_exception()) isolate->clear_pending_exception();
703 return MaybeHandle<Code>(); 703 return MaybeHandle<Code>();
704 } 704 }
705 info->MarkAsOptimizeFromBytecode(); 705 info->MarkAsOptimizeFromBytecode();
706 } 706 }
707 707
708 if (IsEvalToplevel(shared)) { 708 if (IsEvalToplevel(shared)) {
709 parse_info->set_eval(); 709 parse_info->set_eval();
710 parse_info->set_toplevel(); 710 parse_info->set_toplevel();
711 parse_info->set_allow_lazy_parsing(false); 711 parse_info->set_allow_lazy_parsing(false);
712 parse_info->set_lazy(false);
713 } 712 }
714 713
715 // Verify that OSR compilations are delegated to the correct graph builder. 714 // Verify that OSR compilations are delegated to the correct graph builder.
716 // Depending on the underlying frame the semantics of the {BailoutId} differ 715 // Depending on the underlying frame the semantics of the {BailoutId} differ
717 // and the various graph builders hard-code a certain semantic: 716 // and the various graph builders hard-code a certain semantic:
718 // - Interpreter : The BailoutId represents a bytecode offset. 717 // - Interpreter : The BailoutId represents a bytecode offset.
719 // - FullCodegen : The BailoutId represents the id of an AST node. 718 // - FullCodegen : The BailoutId represents the id of an AST node.
720 DCHECK_IMPLIES(info->is_osr() && ignition_osr, 719 DCHECK_IMPLIES(info->is_osr() && ignition_osr,
721 info->is_optimizing_from_bytecode()); 720 info->is_optimizing_from_bytecode());
722 DCHECK_IMPLIES(info->is_osr() && !ignition_osr, 721 DCHECK_IMPLIES(info->is_osr() && !ignition_osr,
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after
1251 DCHECK(AllowCompilation::IsAllowed(isolate)); 1250 DCHECK(AllowCompilation::IsAllowed(isolate));
1252 1251
1253 // Start a compilation. 1252 // Start a compilation.
1254 Zone zone(isolate->allocator()); 1253 Zone zone(isolate->allocator());
1255 ParseInfo parse_info(&zone, function); 1254 ParseInfo parse_info(&zone, function);
1256 CompilationInfo info(&parse_info, Handle<JSFunction>::null()); 1255 CompilationInfo info(&parse_info, Handle<JSFunction>::null());
1257 if (IsEvalToplevel(handle(function->shared()))) { 1256 if (IsEvalToplevel(handle(function->shared()))) {
1258 parse_info.set_eval(); 1257 parse_info.set_eval();
1259 parse_info.set_toplevel(); 1258 parse_info.set_toplevel();
1260 parse_info.set_allow_lazy_parsing(false); 1259 parse_info.set_allow_lazy_parsing(false);
1261 parse_info.set_lazy(false);
1262 } 1260 }
1263 info.MarkAsDebug(); 1261 info.MarkAsDebug();
1264 if (GetUnoptimizedCode(&info).is_null()) { 1262 if (GetUnoptimizedCode(&info).is_null()) {
1265 isolate->clear_pending_exception(); 1263 isolate->clear_pending_exception();
1266 return false; 1264 return false;
1267 } 1265 }
1268 1266
1269 // Check postconditions on success. 1267 // Check postconditions on success.
1270 DCHECK(!isolate->has_pending_exception()); 1268 DCHECK(!isolate->has_pending_exception());
1271 DCHECK(function->shared()->is_compiled()); 1269 DCHECK(function->shared()->is_compiled());
1272 DCHECK(function->shared()->HasDebugCode()); 1270 DCHECK(function->shared()->HasDebugCode());
1273 return true; 1271 return true;
1274 } 1272 }
1275 1273
1276 bool Compiler::CompileDebugCode(Handle<SharedFunctionInfo> shared) { 1274 bool Compiler::CompileDebugCode(Handle<SharedFunctionInfo> shared) {
1277 Isolate* isolate = shared->GetIsolate(); 1275 Isolate* isolate = shared->GetIsolate();
1278 DCHECK(AllowCompilation::IsAllowed(isolate)); 1276 DCHECK(AllowCompilation::IsAllowed(isolate));
1279 1277
1280 // Start a compilation. 1278 // Start a compilation.
1281 Zone zone(isolate->allocator()); 1279 Zone zone(isolate->allocator());
1282 ParseInfo parse_info(&zone, shared); 1280 ParseInfo parse_info(&zone, shared);
1283 CompilationInfo info(&parse_info, Handle<JSFunction>::null()); 1281 CompilationInfo info(&parse_info, Handle<JSFunction>::null());
1284 if (IsEvalToplevel(shared)) { 1282 if (IsEvalToplevel(shared)) {
1285 parse_info.set_eval(); 1283 parse_info.set_eval();
1286 parse_info.set_toplevel(); 1284 parse_info.set_toplevel();
1287 parse_info.set_allow_lazy_parsing(false); 1285 parse_info.set_allow_lazy_parsing(false);
1288 parse_info.set_lazy(false);
1289 } 1286 }
1290 info.MarkAsDebug(); 1287 info.MarkAsDebug();
1291 if (GetUnoptimizedCode(&info).is_null()) { 1288 if (GetUnoptimizedCode(&info).is_null()) {
1292 isolate->clear_pending_exception(); 1289 isolate->clear_pending_exception();
1293 return false; 1290 return false;
1294 } 1291 }
1295 1292
1296 // Check postconditions on success. 1293 // Check postconditions on success.
1297 DCHECK(!isolate->has_pending_exception()); 1294 DCHECK(!isolate->has_pending_exception());
1298 DCHECK(shared->is_compiled()); 1295 DCHECK(shared->is_compiled());
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
1876 DCHECK(shared->is_compiled()); 1873 DCHECK(shared->is_compiled());
1877 function->set_literals(cached.literals); 1874 function->set_literals(cached.literals);
1878 } else if (shared->is_compiled()) { 1875 } else if (shared->is_compiled()) {
1879 // TODO(mvstanton): pass pretenure flag to EnsureLiterals. 1876 // TODO(mvstanton): pass pretenure flag to EnsureLiterals.
1880 JSFunction::EnsureLiterals(function); 1877 JSFunction::EnsureLiterals(function);
1881 } 1878 }
1882 } 1879 }
1883 1880
1884 } // namespace internal 1881 } // namespace internal
1885 } // namespace v8 1882 } // namespace v8
OLDNEW
« no previous file with comments | « src/background-parsing-task.cc ('k') | src/compiler-dispatcher/compiler-dispatcher-job.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698