Index: runtime/vm/dart_entry.cc |
=================================================================== |
--- runtime/vm/dart_entry.cc (revision 4655) |
+++ runtime/vm/dart_entry.cc (working copy) |
@@ -26,10 +26,6 @@ |
return error.raw(); |
} |
} |
- const Code& code = Code::Handle(function.code()); |
- ASSERT(!code.IsNull()); |
- const Instructions& instrs = Instructions::Handle(code.instructions()); |
- ASSERT(!instrs.IsNull()); |
// Set up arguments to include the receiver as the first argument. |
const int num_arguments = arguments.length() + 1; |
@@ -39,15 +35,16 @@ |
for (int i = 1; i < num_arguments; i++) { |
args.Add(arguments[i - 1]); |
} |
- |
// Now Call the invoke stub which will invoke the dart function. |
invokestub entrypoint = reinterpret_cast<invokestub>( |
StubCode::InvokeDartCodeEntryPoint()); |
const Context& context = |
Context::ZoneHandle(Isolate::Current()->object_store()->empty_context()); |
ASSERT(context.isolate() == Isolate::Current()); |
+ const Code& code = Code::Handle(function.CurrentCode()); |
+ ASSERT(!code.IsNull()); |
return entrypoint( |
- instrs.EntryPoint(), |
+ code.EntryPoint(), |
CodeGenerator::ArgumentsDescriptor(num_arguments, |
optional_arguments_names), |
args.data(), |
@@ -69,19 +66,16 @@ |
return error.raw(); |
} |
} |
- const Code& code = Code::Handle(function.code()); |
- ASSERT(!code.IsNull()); |
- const Instructions& instrs = Instructions::Handle(code.instructions()); |
- ASSERT(!instrs.IsNull()); |
- |
// Now Call the invoke stub which will invoke the dart function. |
invokestub entrypoint = reinterpret_cast<invokestub>( |
StubCode::InvokeDartCodeEntryPoint()); |
const Context& context = |
Context::ZoneHandle(Isolate::Current()->object_store()->empty_context()); |
ASSERT(context.isolate() == Isolate::Current()); |
+ const Code& code = Code::Handle(function.CurrentCode()); |
+ ASSERT(!code.IsNull()); |
return entrypoint( |
- instrs.EntryPoint(), |
+ code.EntryPoint(), |
CodeGenerator::ArgumentsDescriptor(arguments.length(), |
optional_arguments_names), |
arguments.data(), |
@@ -106,17 +100,14 @@ |
return error.raw(); |
} |
} |
- const Code& code = Code::Handle(function.code()); |
- ASSERT(!code.IsNull()); |
- const Instructions& instrs = Instructions::Handle(code.instructions()); |
- ASSERT(!instrs.IsNull()); |
- |
// Now Call the invoke stub which will invoke the closure. |
invokestub entrypoint = reinterpret_cast<invokestub>( |
StubCode::InvokeDartCodeEntryPoint()); |
ASSERT(context.isolate() == Isolate::Current()); |
+ const Code& code = Code::Handle(function.CurrentCode()); |
+ ASSERT(!code.IsNull()); |
return entrypoint( |
- instrs.EntryPoint(), |
+ code.EntryPoint(), |
CodeGenerator::ArgumentsDescriptor(arguments.length(), |
optional_arguments_names), |
arguments.data(), |