| Index: src/arguments.cc
|
| diff --git a/src/arguments.cc b/src/arguments.cc
|
| index b15ae7ea647140a8baa80d1067d1a351b205a805..11d9279e81e6c0a48621449681974c8cfb447679 100644
|
| --- a/src/arguments.cc
|
| +++ b/src/arguments.cc
|
| @@ -28,6 +28,8 @@
|
| #include "v8.h"
|
| #include "arguments.h"
|
|
|
| +#include "vm-state-inl.h"
|
| +
|
| namespace v8 {
|
| namespace internal {
|
|
|
| @@ -90,6 +92,8 @@ v8::Handle<v8::Value> FunctionCallbackArguments::Call(InvocationCallback f) {
|
| Isolate* isolate = this->isolate();
|
| void* f_as_void = CallbackTable::FunctionToVoidPtr(f);
|
| bool new_style = CallbackTable::ReturnsVoid(isolate, f_as_void);
|
| + VMState<EXTERNAL> state(isolate);
|
| + ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f));
|
| if (new_style) {
|
| FunctionCallback c = reinterpret_cast<FunctionCallback>(f);
|
| FunctionCallbackInfo<v8::Value> info(end(),
|
| @@ -114,6 +118,8 @@ v8::Handle<ReturnValue> PropertyCallbackArguments::Call(OldFunction f) { \
|
| Isolate* isolate = this->isolate(); \
|
| void* f_as_void = CallbackTable::FunctionToVoidPtr(f); \
|
| bool new_style = CallbackTable::ReturnsVoid(isolate, f_as_void); \
|
| + VMState<EXTERNAL> state(isolate); \
|
| + ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \
|
| if (new_style) { \
|
| NewFunction c = reinterpret_cast<NewFunction>(f); \
|
| PropertyCallbackInfo<ReturnValue> info(end()); \
|
| @@ -132,6 +138,8 @@ v8::Handle<ReturnValue> PropertyCallbackArguments::Call(OldFunction f, \
|
| Isolate* isolate = this->isolate(); \
|
| void* f_as_void = CallbackTable::FunctionToVoidPtr(f); \
|
| bool new_style = CallbackTable::ReturnsVoid(isolate, f_as_void); \
|
| + VMState<EXTERNAL> state(isolate); \
|
| + ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \
|
| if (new_style) { \
|
| NewFunction c = reinterpret_cast<NewFunction>(f); \
|
| PropertyCallbackInfo<ReturnValue> info(end()); \
|
| @@ -151,6 +159,8 @@ v8::Handle<ReturnValue> PropertyCallbackArguments::Call(OldFunction f, \
|
| Isolate* isolate = this->isolate(); \
|
| void* f_as_void = CallbackTable::FunctionToVoidPtr(f); \
|
| bool new_style = CallbackTable::ReturnsVoid(isolate, f_as_void); \
|
| + VMState<EXTERNAL> state(isolate); \
|
| + ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \
|
| if (new_style) { \
|
| NewFunction c = reinterpret_cast<NewFunction>(f); \
|
| PropertyCallbackInfo<ReturnValue> info(end()); \
|
| @@ -170,6 +180,8 @@ void PropertyCallbackArguments::Call(OldFunction f, \
|
| Isolate* isolate = this->isolate(); \
|
| void* f_as_void = CallbackTable::FunctionToVoidPtr(f); \
|
| bool new_style = CallbackTable::ReturnsVoid(isolate, f_as_void); \
|
| + VMState<EXTERNAL> state(isolate); \
|
| + ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \
|
| if (new_style) { \
|
| NewFunction c = reinterpret_cast<NewFunction>(f); \
|
| PropertyCallbackInfo<ReturnValue> info(end()); \
|
|
|