| Index: runtime/vm/native_entry.h
|
| ===================================================================
|
| --- runtime/vm/native_entry.h (revision 44266)
|
| +++ runtime/vm/native_entry.h (working copy)
|
| @@ -39,6 +39,8 @@
|
|
|
| #define DEFINE_NATIVE_ENTRY(name, argument_count) \
|
| static RawObject* DN_Helper##name(Isolate* isolate, \
|
| + Thread* thread, \
|
| + Zone* zone, \
|
| NativeArguments* arguments); \
|
| void NATIVE_ENTRY_FUNCTION(name)(Dart_NativeArguments args) { \
|
| CHECK_STACK_ALIGNMENT; \
|
| @@ -49,14 +51,22 @@
|
| ASSERT(arguments->NativeArgCount() == argument_count); \
|
| TRACE_NATIVE_CALL("%s", ""#name); \
|
| { \
|
| - StackZone zone(arguments->isolate()); \
|
| + Isolate* isolate = arguments->isolate(); \
|
| + /* TODO(koda): Pivot from Isolate to Thread in NativeArguments. */ \
|
| + Thread* thread = Thread::CurrentFromCurrentIsolate(isolate); \
|
| + StackZone zone(isolate); \
|
| SET_NATIVE_RETVAL(arguments, \
|
| - DN_Helper##name(arguments->isolate(), arguments)); \
|
| + DN_Helper##name(isolate, \
|
| + thread, \
|
| + zone.GetZone(), \
|
| + arguments)); \
|
| DEOPTIMIZE_ALOT; \
|
| } \
|
| VERIFY_ON_TRANSITION; \
|
| } \
|
| static RawObject* DN_Helper##name(Isolate* isolate, \
|
| + Thread* thread, \
|
| + Zone* zone, \
|
| NativeArguments* arguments)
|
|
|
|
|
|
|