| Index: runtime/vm/native_arguments.h
|
| ===================================================================
|
| --- runtime/vm/native_arguments.h (revision 31283)
|
| +++ runtime/vm/native_arguments.h (working copy)
|
| @@ -131,6 +131,9 @@
|
| static intptr_t retval_offset() {
|
| return OFFSET_OF(NativeArguments, retval_);
|
| }
|
| + static intptr_t AutoSetupScopeMask() {
|
| + return AutoSetupScopeBits::mask_in_place();
|
| + }
|
|
|
| static int ParameterCountForResolution(const Function& function) {
|
| ASSERT(function.is_native());
|
| @@ -157,7 +160,11 @@
|
| if (function.IsClosureFunction()) {
|
| function_bits |= kClosureFunctionBit;
|
| }
|
| - return FunctionBits::update(function_bits, tag);
|
| + tag = FunctionBits::update(function_bits, tag);
|
| + if (function.IsNativeAutoSetupScope()) {
|
| + tag = AutoSetupScopeBits::update(1, tag);
|
| + }
|
| + return tag;
|
| }
|
|
|
| private:
|
| @@ -170,9 +177,11 @@
|
| kArgcSize = 24,
|
| kFunctionBit = 24,
|
| kFunctionSize = 2,
|
| + kAutoSetupScopeBit = 26,
|
| };
|
| class ArgcBits : public BitField<int, kArgcBit, kArgcSize> {};
|
| class FunctionBits : public BitField<int, kFunctionBit, kFunctionSize> {};
|
| + class AutoSetupScopeBits : public BitField<int, kAutoSetupScopeBit, 1> {};
|
| friend class Api;
|
| friend class BootstrapNatives;
|
| friend class Simulator;
|
|
|