| Index: src/arguments.cc
|
| diff --git a/src/arguments.cc b/src/arguments.cc
|
| index 077991bbee9390b1ba4b0e389c4ab0e273f594c3..815f5de57749ceeb60c4d2136156d14b79b2ec6a 100644
|
| --- a/src/arguments.cc
|
| +++ b/src/arguments.cc
|
| @@ -4,93 +4,9 @@
|
|
|
| #include "src/arguments.h"
|
|
|
| -#include "src/api.h"
|
| -#include "src/vm-state-inl.h"
|
| -
|
| namespace v8 {
|
| namespace internal {
|
|
|
| -
|
| -template <typename T>
|
| -template <typename V>
|
| -v8::Local<V> CustomArguments<T>::GetReturnValue(Isolate* isolate) {
|
| - // Check the ReturnValue.
|
| - Object** handle = &this->begin()[kReturnValueOffset];
|
| - // Nothing was set, return empty handle as per previous behaviour.
|
| - if ((*handle)->IsTheHole()) return v8::Local<V>();
|
| - return Utils::Convert<Object, V>(Handle<Object>(handle));
|
| -}
|
| -
|
| -
|
| -v8::Local<v8::Value> FunctionCallbackArguments::Call(FunctionCallback f) {
|
| - Isolate* isolate = this->isolate();
|
| - VMState<EXTERNAL> state(isolate);
|
| - ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f));
|
| - FunctionCallbackInfo<v8::Value> info(begin(),
|
| - argv_,
|
| - argc_,
|
| - is_construct_call_);
|
| - f(info);
|
| - return GetReturnValue<v8::Value>(isolate);
|
| -}
|
| -
|
| -
|
| -#define WRITE_CALL_0(Function, ReturnValue) \
|
| - v8::Local<ReturnValue> PropertyCallbackArguments::Call(Function f) { \
|
| - Isolate* isolate = this->isolate(); \
|
| - VMState<EXTERNAL> state(isolate); \
|
| - ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \
|
| - PropertyCallbackInfo<ReturnValue> info(begin()); \
|
| - f(info); \
|
| - return GetReturnValue<ReturnValue>(isolate); \
|
| - }
|
| -
|
| -
|
| -#define WRITE_CALL_1(Function, ReturnValue, Arg1) \
|
| - v8::Local<ReturnValue> PropertyCallbackArguments::Call(Function f, \
|
| - Arg1 arg1) { \
|
| - Isolate* isolate = this->isolate(); \
|
| - VMState<EXTERNAL> state(isolate); \
|
| - ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \
|
| - PropertyCallbackInfo<ReturnValue> info(begin()); \
|
| - f(arg1, info); \
|
| - return GetReturnValue<ReturnValue>(isolate); \
|
| - }
|
| -
|
| -
|
| -#define WRITE_CALL_2(Function, ReturnValue, Arg1, Arg2) \
|
| - v8::Local<ReturnValue> PropertyCallbackArguments::Call( \
|
| - Function f, Arg1 arg1, Arg2 arg2) { \
|
| - Isolate* isolate = this->isolate(); \
|
| - VMState<EXTERNAL> state(isolate); \
|
| - ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \
|
| - PropertyCallbackInfo<ReturnValue> info(begin()); \
|
| - f(arg1, arg2, info); \
|
| - return GetReturnValue<ReturnValue>(isolate); \
|
| - }
|
| -
|
| -
|
| -#define WRITE_CALL_2_VOID(Function, ReturnValue, Arg1, Arg2) \
|
| - void PropertyCallbackArguments::Call(Function f, Arg1 arg1, Arg2 arg2) { \
|
| - Isolate* isolate = this->isolate(); \
|
| - VMState<EXTERNAL> state(isolate); \
|
| - ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); \
|
| - PropertyCallbackInfo<ReturnValue> info(begin()); \
|
| - f(arg1, arg2, info); \
|
| - }
|
| -
|
| -
|
| -FOR_EACH_CALLBACK_TABLE_MAPPING_0(WRITE_CALL_0)
|
| -FOR_EACH_CALLBACK_TABLE_MAPPING_1(WRITE_CALL_1)
|
| -FOR_EACH_CALLBACK_TABLE_MAPPING_2(WRITE_CALL_2)
|
| -FOR_EACH_CALLBACK_TABLE_MAPPING_2_VOID_RETURN(WRITE_CALL_2_VOID)
|
| -
|
| -#undef WRITE_CALL_0
|
| -#undef WRITE_CALL_1
|
| -#undef WRITE_CALL_2
|
| -#undef WRITE_CALL_2_VOID
|
| -
|
| -
|
| double ClobberDoubleRegisters(double x1, double x2, double x3, double x4) {
|
| // TODO(ulan): This clobbers only subset of registers depending on compiler,
|
| // Rewrite this in assembly to really clobber all registers.
|
| @@ -98,6 +14,5 @@ double ClobberDoubleRegisters(double x1, double x2, double x3, double x4) {
|
| return x1 * 1.01 + x2 * 2.02 + x3 * 3.03 + x4 * 4.04;
|
| }
|
|
|
| -
|
| } // namespace internal
|
| } // namespace v8
|
|
|