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

Side by Side Diff: runtime/vm/intermediate_language.cc

Issue 16020013: Do not emit duplicate deoptimization entries for GotoInstr. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 6 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 | « runtime/vm/intermediate_language.h ('k') | runtime/vm/intermediate_language_arm.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 (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/intermediate_language.h" 5 #include "vm/intermediate_language.h"
6 6
7 #include "vm/bigint_operations.h" 7 #include "vm/bigint_operations.h"
8 #include "vm/bit_vector.h" 8 #include "vm/bit_vector.h"
9 #include "vm/dart_entry.h" 9 #include "vm/dart_entry.h"
10 #include "vm/flow_graph_allocator.h" 10 #include "vm/flow_graph_allocator.h"
(...skipping 1437 matching lines...) Expand 10 before | Expand all | Expand 10 after
1448 } 1448 }
1449 1449
1450 1450
1451 LocationSummary* JoinEntryInstr::MakeLocationSummary() const { 1451 LocationSummary* JoinEntryInstr::MakeLocationSummary() const {
1452 UNREACHABLE(); 1452 UNREACHABLE();
1453 return NULL; 1453 return NULL;
1454 } 1454 }
1455 1455
1456 1456
1457 void JoinEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) { 1457 void JoinEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
1458 __ Bind(compiler->GetJumpLabel(this));
1458 if (!compiler->is_optimizing()) { 1459 if (!compiler->is_optimizing()) {
1459 compiler->AddCurrentDescriptor(PcDescriptors::kDeopt, 1460 compiler->AddCurrentDescriptor(PcDescriptors::kDeopt,
1460 deopt_id_, 1461 deopt_id_,
1461 Scanner::kDummyTokenIndex); 1462 Scanner::kDummyTokenIndex);
1462 } 1463 }
1463 __ Bind(compiler->GetJumpLabel(this));
1464 if (HasParallelMove()) { 1464 if (HasParallelMove()) {
1465 compiler->parallel_move_resolver()->EmitNativeCode(parallel_move()); 1465 compiler->parallel_move_resolver()->EmitNativeCode(parallel_move());
1466 } 1466 }
1467 } 1467 }
1468 1468
1469 1469
1470 LocationSummary* TargetEntryInstr::MakeLocationSummary() const { 1470 LocationSummary* TargetEntryInstr::MakeLocationSummary() const {
1471 UNREACHABLE(); 1471 UNREACHABLE();
1472 return NULL; 1472 return NULL;
1473 } 1473 }
1474 1474
1475 1475
1476 void TargetEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) { 1476 void TargetEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
1477 __ Bind(compiler->GetJumpLabel(this));
1477 if (!compiler->is_optimizing()) { 1478 if (!compiler->is_optimizing()) {
1478 compiler->AddCurrentDescriptor(PcDescriptors::kDeopt, 1479 compiler->AddCurrentDescriptor(PcDescriptors::kDeopt,
1479 deopt_id_, 1480 deopt_id_,
1480 Scanner::kDummyTokenIndex); 1481 Scanner::kDummyTokenIndex);
1481 } 1482 }
1482 __ Bind(compiler->GetJumpLabel(this));
1483 if (HasParallelMove()) { 1483 if (HasParallelMove()) {
1484 compiler->parallel_move_resolver()->EmitNativeCode(parallel_move()); 1484 compiler->parallel_move_resolver()->EmitNativeCode(parallel_move());
1485 } 1485 }
1486 } 1486 }
1487 1487
1488 1488
1489 LocationSummary* CatchBlockEntryInstr::MakeLocationSummary() const { 1489 LocationSummary* CatchBlockEntryInstr::MakeLocationSummary() const {
1490 UNREACHABLE(); 1490 UNREACHABLE();
1491 return NULL; 1491 return NULL;
1492 } 1492 }
(...skipping 981 matching lines...) Expand 10 before | Expand all | Expand 10 after
2474 default: 2474 default:
2475 UNREACHABLE(); 2475 UNREACHABLE();
2476 } 2476 }
2477 return kPowRuntimeEntry; 2477 return kPowRuntimeEntry;
2478 } 2478 }
2479 2479
2480 2480
2481 #undef __ 2481 #undef __
2482 2482
2483 } // namespace dart 2483 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language.h ('k') | runtime/vm/intermediate_language_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698