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

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

Issue 23465004: More cleanup related to malformed and malbounded types. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 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 | « runtime/vm/flow_graph_compiler_arm.cc ('k') | runtime/vm/object.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 (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/globals.h" // Needed here to get TARGET_ARCH_MIPS. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_MIPS.
6 #if defined(TARGET_ARCH_MIPS) 6 #if defined(TARGET_ARCH_MIPS)
7 7
8 #include "vm/flow_graph_compiler.h" 8 #include "vm/flow_graph_compiler.h"
9 9
10 #include "vm/ast_printer.h" 10 #include "vm/ast_printer.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 Assembler* assem = compiler->assembler(); 151 Assembler* assem = compiler->assembler();
152 #define __ assem-> 152 #define __ assem->
153 __ Comment("Deopt stub for id %" Pd "", deopt_id()); 153 __ Comment("Deopt stub for id %" Pd "", deopt_id());
154 __ Bind(entry_label()); 154 __ Bind(entry_label());
155 if (FLAG_trap_on_deoptimization) __ break_(0); 155 if (FLAG_trap_on_deoptimization) __ break_(0);
156 156
157 ASSERT(deopt_env() != NULL); 157 ASSERT(deopt_env() != NULL);
158 158
159 __ BranchLink(&StubCode::DeoptimizeLabel()); 159 __ BranchLink(&StubCode::DeoptimizeLabel());
160 set_pc_offset(assem->CodeSize()); 160 set_pc_offset(assem->CodeSize());
161 __ break_(0); // TODO(regis): Remove breakpoint to save space.
162 #undef __ 161 #undef __
163 } 162 }
164 163
165 164
166 #define __ assembler()-> 165 #define __ assembler()->
167 166
168 167
169 // Fall through if bool_register contains null. 168 // Fall through if bool_register contains null.
170 void FlowGraphCompiler::GenerateBoolToJump(Register bool_register, 169 void FlowGraphCompiler::GenerateBoolToJump(Register bool_register,
171 Label* is_true, 170 Label* is_true,
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 } 762 }
764 AllocateRegistersLocally(instr); 763 AllocateRegistersLocally(instr);
765 } else if (instr->MayThrow() && 764 } else if (instr->MayThrow() &&
766 (CurrentTryIndex() != CatchClauseNode::kInvalidTryIndex)) { 765 (CurrentTryIndex() != CatchClauseNode::kInvalidTryIndex)) {
767 // Optimized try-block: Sync locals to fixed stack locations. 766 // Optimized try-block: Sync locals to fixed stack locations.
768 EmitTrySync(instr, CurrentTryIndex()); 767 EmitTrySync(instr, CurrentTryIndex());
769 } 768 }
770 } 769 }
771 770
772 771
773 // TODO(regis): Pass an offset instead of an Address to avoid addressing
774 // mode restrictions and remove Operand::Equals() on IA32/X64 and
775 // Address::Equals() on ARM/MIPS.
776 void FlowGraphCompiler::EmitTrySyncMove(intptr_t dest_offset, 772 void FlowGraphCompiler::EmitTrySyncMove(intptr_t dest_offset,
777 Location loc, 773 Location loc,
778 bool* push_emitted) { 774 bool* push_emitted) {
779 if (loc.IsConstant()) { 775 if (loc.IsConstant()) {
780 if (!*push_emitted) { 776 if (!*push_emitted) {
781 __ Push(T0); 777 __ Push(T0);
782 *push_emitted = true; 778 *push_emitted = true;
783 } 779 }
784 __ LoadObject(T0, loc.constant()); 780 __ LoadObject(T0, loc.constant());
785 __ StoreToOffset(T0, FP, dest_offset); 781 __ StoreToOffset(T0, FP, dest_offset);
(...skipping 1219 matching lines...) Expand 10 before | Expand all | Expand 10 after
2005 __ AddImmediate(SP, kDoubleSize); 2001 __ AddImmediate(SP, kDoubleSize);
2006 } 2002 }
2007 2003
2008 2004
2009 #undef __ 2005 #undef __
2010 2006
2011 2007
2012 } // namespace dart 2008 } // namespace dart
2013 2009
2014 #endif // defined TARGET_ARCH_MIPS 2010 #endif // defined TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_compiler_arm.cc ('k') | runtime/vm/object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698