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

Unified Diff: runtime/vm/intermediate_language.cc

Issue 10831261: Build and use stack maps in the SSA compiler. (Closed) Base URL: https://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
Index: runtime/vm/intermediate_language.cc
diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
index 94c3cb16d60ecd0c96afbf3469b614a1b243f360..051a41ce46b32d092640c06a41619bbe1e76c644 100644
--- a/runtime/vm/intermediate_language.cc
+++ b/runtime/vm/intermediate_language.cc
@@ -852,7 +852,8 @@ void ThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
compiler->GenerateCallRuntime(deopt_id(),
token_pos(),
try_index(),
- kThrowRuntimeEntry);
+ kThrowRuntimeEntry,
+ locs()->stack_bitmap());
__ int3();
}
@@ -866,7 +867,8 @@ void ReThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
compiler->GenerateCallRuntime(deopt_id(),
token_pos(),
try_index(),
- kReThrowRuntimeEntry);
+ kReThrowRuntimeEntry,
+ locs()->stack_bitmap());
__ int3();
}
@@ -992,7 +994,8 @@ void ClosureCallComp::EmitNativeCode(FlowGraphCompiler* compiler) {
compiler->GenerateCall(token_pos(),
try_index(),
&StubCode::CallClosureFunctionLabel(),
- PcDescriptors::kOther);
+ PcDescriptors::kOther,
+ locs()->stack_bitmap());
__ Drop(argument_count);
}
@@ -1013,7 +1016,8 @@ void InstanceCallComp::EmitNativeCode(FlowGraphCompiler* compiler) {
function_name(),
ArgumentCount(),
argument_names(),
- checked_argument_count());
+ checked_argument_count(),
+ locs()->stack_bitmap());
}
@@ -1033,7 +1037,8 @@ void StaticCallComp::EmitNativeCode(FlowGraphCompiler* compiler) {
try_index(),
function(),
ArgumentCount(),
- argument_names());
+ argument_names(),
+ locs()->stack_bitmap());
__ Bind(&done);
}
@@ -1054,7 +1059,8 @@ void AssertAssignableComp::EmitNativeCode(FlowGraphCompiler* compiler) {
token_pos(),
try_index(),
dst_type(),
- dst_name());
+ dst_name(),
+ locs()->stack_bitmap());
}
ASSERT(locs()->in(0).reg() == locs()->out().reg());
}
@@ -1147,7 +1153,8 @@ void AllocateObjectComp::EmitNativeCode(FlowGraphCompiler* compiler) {
compiler->GenerateCall(token_pos(),
try_index(),
&label,
- PcDescriptors::kOther);
+ PcDescriptors::kOther,
+ locs()->stack_bitmap());
__ Drop(ArgumentCount()); // Discard arguments.
}
@@ -1163,7 +1170,8 @@ void CreateClosureComp::EmitNativeCode(FlowGraphCompiler* compiler) {
StubCode::GetAllocationStubForClosure(closure_function));
const ExternalLabel label(closure_function.ToCString(), stub.EntryPoint());
compiler->GenerateCall(token_pos(), try_index(), &label,
- PcDescriptors::kOther);
+ PcDescriptors::kOther,
+ locs()->stack_bitmap());
__ Drop(2); // Discard type arguments and receiver.
}

Powered by Google App Engine
This is Rietveld 408576698