| Index: runtime/vm/runtime_entry.h
|
| ===================================================================
|
| --- runtime/vm/runtime_entry.h (revision 44266)
|
| +++ runtime/vm/runtime_entry.h (working copy)
|
| @@ -67,7 +67,10 @@
|
| extern void DRT_##name(NativeArguments arguments); \
|
| extern const RuntimeEntry k##name##RuntimeEntry( \
|
| "DRT_"#name, &DRT_##name, argument_count, false, false); \
|
| - static void DRT_Helper##name(Isolate* isolate, NativeArguments arguments); \
|
| + static void DRT_Helper##name(Isolate* isolate, \
|
| + Thread* thread, \
|
| + Zone* zone, \
|
| + NativeArguments arguments); \
|
| void DRT_##name(NativeArguments arguments) { \
|
| CHECK_STACK_ALIGNMENT; \
|
| VERIFY_ON_TRANSITION; \
|
| @@ -74,13 +77,18 @@
|
| ASSERT(arguments.ArgCount() == argument_count); \
|
| if (FLAG_trace_runtime_calls) OS::Print("Runtime call: %s\n", ""#name); \
|
| { \
|
| - StackZone zone(arguments.isolate()); \
|
| - HANDLESCOPE(arguments.isolate()); \
|
| - DRT_Helper##name(arguments.isolate(), arguments); \
|
| + Isolate* isolate = arguments.isolate(); \
|
| + Thread* thread = Thread::CurrentFromCurrentIsolate(isolate); \
|
| + StackZone zone(isolate); \
|
| + HANDLESCOPE(isolate); \
|
| + DRT_Helper##name(isolate, thread, zone.GetZone(), arguments); \
|
| } \
|
| VERIFY_ON_TRANSITION; \
|
| } \
|
| - static void DRT_Helper##name(Isolate* isolate, NativeArguments arguments)
|
| + static void DRT_Helper##name(Isolate* isolate, \
|
| + Thread* thread, \
|
| + Zone* zone, \
|
| + NativeArguments arguments)
|
|
|
| #define DECLARE_RUNTIME_ENTRY(name) \
|
| extern const RuntimeEntry k##name##RuntimeEntry
|
|
|