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

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

Issue 23445012: Mark exception handlers if they have a stacktrace specified. Do not build a stacktrace if the handl… (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
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/intermediate_language.h" 8 #include "vm/intermediate_language.h"
9 9
10 #include "vm/dart_entry.h" 10 #include "vm/dart_entry.h"
(...skipping 2271 matching lines...) Expand 10 before | Expand all | Expand 10 after
2282 UNREACHABLE(); 2282 UNREACHABLE();
2283 return NULL; 2283 return NULL;
2284 } 2284 }
2285 2285
2286 2286
2287 void CatchBlockEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) { 2287 void CatchBlockEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
2288 __ Bind(compiler->GetJumpLabel(this)); 2288 __ Bind(compiler->GetJumpLabel(this));
2289 compiler->AddExceptionHandler(catch_try_index(), 2289 compiler->AddExceptionHandler(catch_try_index(),
2290 try_index(), 2290 try_index(),
2291 compiler->assembler()->CodeSize(), 2291 compiler->assembler()->CodeSize(),
2292 catch_handler_types_); 2292 catch_handler_types_,
2293 needs_stacktrace());
2293 // Restore pool pointer. 2294 // Restore pool pointer.
2294 __ GetNextPC(CMPRES, TMP); 2295 __ GetNextPC(CMPRES, TMP);
2295 const intptr_t object_pool_pc_dist = 2296 const intptr_t object_pool_pc_dist =
2296 Instructions::HeaderSize() - Instructions::object_pool_offset() + 2297 Instructions::HeaderSize() - Instructions::object_pool_offset() +
2297 compiler->assembler()->CodeSize() - 1 * Instr::kInstrSize; 2298 compiler->assembler()->CodeSize() - 1 * Instr::kInstrSize;
2298 __ LoadFromOffset(PP, CMPRES, -object_pool_pc_dist); 2299 __ LoadFromOffset(PP, CMPRES, -object_pool_pc_dist);
2299 2300
2300 if (HasParallelMove()) { 2301 if (HasParallelMove()) {
2301 compiler->parallel_move_resolver()->EmitNativeCode(parallel_move()); 2302 compiler->parallel_move_resolver()->EmitNativeCode(parallel_move());
2302 } 2303 }
(...skipping 1824 matching lines...) Expand 10 before | Expand all | Expand 10 after
4127 compiler->GenerateCall(token_pos(), 4128 compiler->GenerateCall(token_pos(),
4128 &label, 4129 &label,
4129 PcDescriptors::kOther, 4130 PcDescriptors::kOther,
4130 locs()); 4131 locs());
4131 __ Drop(2); // Discard type arguments and receiver. 4132 __ Drop(2); // Discard type arguments and receiver.
4132 } 4133 }
4133 4134
4134 } // namespace dart 4135 } // namespace dart
4135 4136
4136 #endif // defined TARGET_ARCH_MIPS 4137 #endif // defined TARGET_ARCH_MIPS
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698