diff options
author | Michaël Zasso <targos@protonmail.com> | 2016-05-27 16:37:42 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2016-06-29 09:04:28 +0200 |
commit | 2cc29517966de7257a2f1b34c58c77225a21e05d (patch) | |
tree | 210bd177df2f06eec16e1e22edafdbcbffe66f8a /deps/v8/src/arguments.cc | |
parent | bbf3838c70aaec1dd296fa75ae334fd1c7866df3 (diff) | |
download | android-node-v8-2cc29517966de7257a2f1b34c58c77225a21e05d.tar.gz android-node-v8-2cc29517966de7257a2f1b34c58c77225a21e05d.tar.bz2 android-node-v8-2cc29517966de7257a2f1b34c58c77225a21e05d.zip |
deps: update V8 to 5.1.281.69
Pick up the latest branch-head for V8 5.1. This branch brings in
improved language support and performance improvements. For full
details: http://v8project.blogspot.com/2016/04/v8-release-51.html
* Picks up the latest branch head for 5.1 [1]
* Edit v8 gitignore to allow trace_event copy
* Update V8 DEP trace_event as per deps/v8/DEPS [2]
[1] https://chromium.googlesource.com/v8/v8.git/+/dc81244
[2] https://chromium.googlesource.com/chromium/src/base/trace_event/common/+/c8c8665
PR-URL: https://github.com/nodejs/node/pull/7016
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/arguments.cc')
-rw-r--r-- | deps/v8/src/arguments.cc | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/deps/v8/src/arguments.cc b/deps/v8/src/arguments.cc index 077991bbee..815f5de577 100644 --- a/deps/v8/src/arguments.cc +++ b/deps/v8/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 |