Index: runtime/vm/dart_entry.cc |
diff --git a/runtime/vm/dart_entry.cc b/runtime/vm/dart_entry.cc |
index ea55b49e9f7eeaa6d5ca9d714ebfddeb2cd9617f..643efa1750c5a76dabd95a19c5d62483c92801b7 100644 |
--- a/runtime/vm/dart_entry.cc |
+++ b/runtime/vm/dart_entry.cc |
@@ -103,15 +103,22 @@ RawObject* DartEntry::InvokeFunction(const Function& function, |
} |
} |
// Now Call the invoke stub which will invoke the dart function. |
+#if !defined(TARGET_ARCH_DBC) |
invokestub entrypoint = reinterpret_cast<invokestub>( |
StubCode::InvokeDartCode_entry()->EntryPoint()); |
+#endif |
const Code& code = Code::Handle(zone, function.CurrentCode()); |
ASSERT(!code.IsNull()); |
ASSERT(thread->no_callback_scope_depth() == 0); |
ScopedIsolateStackLimits stack_limit(thread); |
SuspendLongJumpScope suspend_long_jump_scope(thread); |
TransitionToGenerated transition(thread); |
-#if defined(USING_SIMULATOR) |
+#if defined(TARGET_ARCH_DBC) |
+ return Simulator::Current()->Call(code, |
+ arguments_descriptor, |
+ arguments, |
+ thread); |
+#elif defined(USING_SIMULATOR) |
return bit_copy<RawObject*, int64_t>(Simulator::Current()->Call( |
reinterpret_cast<intptr_t>(entrypoint), |
reinterpret_cast<intptr_t>(&code), |