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

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

Issue 335443002: Setup R10/EDX to be valid Oops before stub calls (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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
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/cpu.h" 9 #include "vm/cpu.h"
10 #include "vm/dart_entry.h" 10 #include "vm/dart_entry.h"
(...skipping 1608 matching lines...) Expand 10 before | Expand all | Expand 10 after
1619 LocationSummary* DebugStepCheckInstr::MakeLocationSummary(Isolate* isolate, 1619 LocationSummary* DebugStepCheckInstr::MakeLocationSummary(Isolate* isolate,
1620 bool opt) const { 1620 bool opt) const {
1621 const intptr_t kNumInputs = 0; 1621 const intptr_t kNumInputs = 0;
1622 const intptr_t kNumTemps = 0; 1622 const intptr_t kNumTemps = 0;
1623 LocationSummary* locs = new(isolate) LocationSummary( 1623 LocationSummary* locs = new(isolate) LocationSummary(
1624 isolate, kNumInputs, kNumTemps, LocationSummary::kCall); 1624 isolate, kNumInputs, kNumTemps, LocationSummary::kCall);
1625 return locs; 1625 return locs;
1626 } 1626 }
1627 1627
1628 1628
1629 void DebugStepCheckInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
1630 ASSERT(!compiler->is_optimizing());
1631 const ExternalLabel label(StubCode::DebugStepCheckEntryPoint());
1632 compiler->GenerateCall(token_pos(), &label, stub_kind_, locs());
1633 }
1634
1635
1636 Instruction* DebugStepCheckInstr::Canonicalize(FlowGraph* flow_graph) { 1629 Instruction* DebugStepCheckInstr::Canonicalize(FlowGraph* flow_graph) {
1637 return NULL; 1630 return NULL;
1638 } 1631 }
1639 1632
1640 1633
1641 static bool HasTryBlockUse(Value* use_list) { 1634 static bool HasTryBlockUse(Value* use_list) {
1642 for (Value::Iterator it(use_list); !it.Done(); it.Advance()) { 1635 for (Value::Iterator it(use_list); !it.Done(); it.Advance()) {
1643 Value* use = it.Current(); 1636 Value* use = it.Current();
1644 if (use->instruction()->MayThrow() && 1637 if (use->instruction()->MayThrow() &&
1645 use->instruction()->GetBlock()->InsideTryBlock()) { 1638 use->instruction()->GetBlock()->InsideTryBlock()) {
(...skipping 1915 matching lines...) Expand 10 before | Expand all | Expand 10 after
3561 case Token::kTRUNCDIV: return 0; 3554 case Token::kTRUNCDIV: return 0;
3562 case Token::kMOD: return 1; 3555 case Token::kMOD: return 1;
3563 default: UNIMPLEMENTED(); return -1; 3556 default: UNIMPLEMENTED(); return -1;
3564 } 3557 }
3565 } 3558 }
3566 3559
3567 3560
3568 #undef __ 3561 #undef __
3569 3562
3570 } // namespace dart 3563 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698