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

Unified Diff: runtime/vm/intermediate_language_ia32.cc

Issue 1288863006: Use zone allocated growable array to populate interim static and stub calls table, thus allocating … (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: add comment Created 5 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_ia32.cc
diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
index 6534500895f62217868e52a2c2d43f1998bfcfc2..c830ec3a24be10de92d373266464ea2c0fd92a00 100644
--- a/runtime/vm/intermediate_language_ia32.cc
+++ b/runtime/vm/intermediate_language_ia32.cc
@@ -1648,16 +1648,14 @@ class BoxAllocationSlowPath : public SlowPathCode {
result_(result) { }
virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
- Isolate* isolate = compiler->isolate();
-
if (Assembler::EmittingComments()) {
__ Comment("%s slow path allocation of %s",
instruction_->DebugName(),
String::Handle(cls_.PrettyName()).ToCString());
}
__ Bind(entry_label());
- const Code& stub =
- Code::Handle(isolate, StubCode::GetAllocationStubForClass(cls_));
+ const Code& stub = Code::ZoneHandle(
+ compiler->zone(), StubCode::GetAllocationStubForClass(cls_));
const StubEntry stub_entry(stub);
LocationSummary* locs = instruction_->locs();
@@ -2128,8 +2126,8 @@ void CreateArrayInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
}
__ Bind(&slow_path);
- const Code& stub = Code::Handle(compiler->isolate(),
- StubCode::AllocateArray_entry()->code());
+ const Code& stub = Code::ZoneHandle(compiler->zone(),
+ StubCode::AllocateArray_entry()->code());
compiler->AddStubCallTarget(stub);
compiler->GenerateCall(token_pos(),
*StubCode::AllocateArray_entry(),
@@ -2403,8 +2401,8 @@ class AllocateContextSlowPath : public SlowPathCode {
compiler->SaveLiveRegisters(locs);
__ movl(EDX, Immediate(instruction_->num_context_variables()));
- const Code& stub = Code::Handle(compiler->isolate(),
- StubCode::AllocateContext_entry()->code());
+ const Code& stub = Code::ZoneHandle(
+ compiler->zone(), StubCode::AllocateContext_entry()->code());
compiler->AddStubCallTarget(stub);
compiler->GenerateCall(instruction_->token_pos(),
*StubCode::AllocateContext_entry(),
@@ -6814,9 +6812,8 @@ LocationSummary* AllocateObjectInstr::MakeLocationSummary(Zone* zone,
void AllocateObjectInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
- Isolate* isolate = compiler->isolate();
- const Code& stub = Code::Handle(isolate,
- StubCode::GetAllocationStubForClass(cls()));
+ const Code& stub = Code::ZoneHandle(
+ compiler->zone(), StubCode::GetAllocationStubForClass(cls()));
const StubEntry stub_entry(stub);
compiler->GenerateCall(token_pos(),
stub_entry,

Powered by Google App Engine
This is Rietveld 408576698