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

Side by Side Diff: src/compiler.cc

Issue 527963002: Implement loads and calls from 'super' (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebased before landing Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « src/arm64/full-codegen-arm64.cc ('k') | src/full-codegen.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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/compiler.h" 7 #include "src/compiler.h"
8 8
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 395
396 DCHECK(info()->shared_info()->has_deoptimization_support()); 396 DCHECK(info()->shared_info()->has_deoptimization_support());
397 397
398 // Check the whitelist for TurboFan. 398 // Check the whitelist for TurboFan.
399 if (info()->closure()->PassesFilter(FLAG_turbo_filter) && 399 if (info()->closure()->PassesFilter(FLAG_turbo_filter) &&
400 // TODO(turbofan): Make try-catch work and remove this bailout. 400 // TODO(turbofan): Make try-catch work and remove this bailout.
401 info()->function()->dont_optimize_reason() != kTryCatchStatement && 401 info()->function()->dont_optimize_reason() != kTryCatchStatement &&
402 info()->function()->dont_optimize_reason() != kTryFinallyStatement && 402 info()->function()->dont_optimize_reason() != kTryFinallyStatement &&
403 // TODO(turbofan): Make ES6 for-of work and remove this bailout. 403 // TODO(turbofan): Make ES6 for-of work and remove this bailout.
404 info()->function()->dont_optimize_reason() != kForOfStatement && 404 info()->function()->dont_optimize_reason() != kForOfStatement &&
405 // TODO(turbofan): Make super work and remove this bailout.
406 info()->function()->dont_optimize_reason() != kSuperReference &&
405 // TODO(turbofan): Make OSR work and remove this bailout. 407 // TODO(turbofan): Make OSR work and remove this bailout.
406 !info()->is_osr()) { 408 !info()->is_osr()) {
407 compiler::Pipeline pipeline(info()); 409 compiler::Pipeline pipeline(info());
408 pipeline.GenerateCode(); 410 pipeline.GenerateCode();
409 if (!info()->code().is_null()) { 411 if (!info()->code().is_null()) {
410 if (FLAG_turbo_deoptimization) { 412 if (FLAG_turbo_deoptimization) {
411 info()->context()->native_context()->AddOptimizedCode(*info()->code()); 413 info()->context()->native_context()->AddOptimizedCode(*info()->code());
412 } 414 }
413 return SetLastStatus(SUCCEEDED); 415 return SetLastStatus(SUCCEEDED);
414 } 416 }
(...skipping 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after
1425 AllowHandleDereference allow_deref; 1427 AllowHandleDereference allow_deref;
1426 bool tracing_on = info()->IsStub() 1428 bool tracing_on = info()->IsStub()
1427 ? FLAG_trace_hydrogen_stubs 1429 ? FLAG_trace_hydrogen_stubs
1428 : (FLAG_trace_hydrogen && 1430 : (FLAG_trace_hydrogen &&
1429 info()->closure()->PassesFilter(FLAG_trace_hydrogen_filter)); 1431 info()->closure()->PassesFilter(FLAG_trace_hydrogen_filter));
1430 return (tracing_on && 1432 return (tracing_on &&
1431 base::OS::StrChr(const_cast<char*>(FLAG_trace_phase), name_[0]) != NULL); 1433 base::OS::StrChr(const_cast<char*>(FLAG_trace_phase), name_[0]) != NULL);
1432 } 1434 }
1433 1435
1434 } } // namespace v8::internal 1436 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm64/full-codegen-arm64.cc ('k') | src/full-codegen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698