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

Unified Diff: runtime/vm/intermediate_language_x64.cc

Issue 10915026: We can throw an exception but we cannot deoptimize at a runtime call. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/intermediate_language_ia32.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intermediate_language_x64.cc
===================================================================
--- runtime/vm/intermediate_language_x64.cc (revision 11688)
+++ runtime/vm/intermediate_language_x64.cc (working copy)
@@ -85,8 +85,7 @@
__ LoadObject(temp, function);
__ pushq(result); // Preserve result.
__ pushq(temp);
- compiler->GenerateCallRuntime(Isolate::kNoDeoptId,
- 0,
+ compiler->GenerateCallRuntime(0,
kTraceFunctionExitRuntimeEntry,
NULL);
__ popq(temp); // Remove argument.
@@ -218,8 +217,7 @@
__ j(EQUAL, &done, Assembler::kNearJump);
__ pushq(obj); // Push the source object.
- compiler->GenerateCallRuntime(deopt_id(),
- token_pos(),
+ compiler->GenerateCallRuntime(token_pos(),
kConditionTypeErrorRuntimeEntry,
locs());
// We should never return here.
@@ -250,8 +248,7 @@
__ pushq(Immediate(Smi::RawValue(formal_parameter_index())));
__ PushObject(formal_parameter_name());
__ pushq(saved_args_desc);
- compiler->GenerateCallRuntime(deopt_id(),
- token_pos(),
+ compiler->GenerateCallRuntime(token_pos(),
kArgumentDefinitionTestRuntimeEntry,
locs());
__ Drop(3);
@@ -1078,8 +1075,7 @@
ASSERT(locs()->in(1).reg() == RCX); // Instantiator.
ASSERT(locs()->in(2).reg() == RDX); // Instantiator type arguments.
- compiler->GenerateInstanceOf(deopt_id(),
- token_pos(),
+ compiler->GenerateInstanceOf(token_pos(),
type(),
negate_result(),
locs());
@@ -1141,8 +1137,7 @@
__ PushObject(cls);
__ pushq(type_arguments);
__ pushq(instantiator_type_arguments);
- compiler->GenerateCallRuntime(deopt_id(),
- token_pos(),
+ compiler->GenerateCallRuntime(token_pos(),
kAllocateObjectWithBoundsCheckRuntimeEntry,
locs());
// Pop instantiator type arguments, type arguments, and class.
@@ -1214,8 +1209,7 @@
__ PushObject(Object::ZoneHandle()); // Make room for the result.
__ PushObject(type_arguments());
__ pushq(instantiator_reg); // Push instantiator type arguments.
- compiler->GenerateCallRuntime(deopt_id(),
- token_pos(),
+ compiler->GenerateCallRuntime(token_pos(),
kInstantiateTypeArgumentsRuntimeEntry,
locs());
__ Drop(2); // Drop instantiator and uninstantiated type arguments.
@@ -1389,8 +1383,7 @@
__ PushObject(Object::ZoneHandle()); // Make room for the result.
__ pushq(context_value);
- compiler->GenerateCallRuntime(deopt_id(),
- token_pos(),
+ compiler->GenerateCallRuntime(token_pos(),
kCloneContextRuntimeEntry,
locs());
__ popq(result); // Remove argument.
@@ -1445,8 +1438,7 @@
virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
__ Bind(entry_label());
compiler->SaveLiveRegisters(computation_->locs());
- compiler->GenerateCallRuntime(computation_->deopt_id(),
- computation_->token_pos(),
+ compiler->GenerateCallRuntime(computation_->token_pos(),
kStackOverflowRuntimeEntry,
computation_->locs());
compiler->RestoreLiveRegisters(computation_->locs());
« no previous file with comments | « runtime/vm/intermediate_language_ia32.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698