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 |