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; |