diff options
author | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-01-20 09:45:45 -0800 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-01-21 16:53:58 -0800 |
commit | ef4170ea03a80b21b2d8a65ce432efaa370fe2fa (patch) | |
tree | e382b1b38b729cd8155b56b441c3a563914854a3 /deps/v8/src/code-factory.cc | |
parent | 5f6dfab832979999d2f806fc1a2f1c11a25b0f35 (diff) | |
download | android-node-v8-ef4170ea03a80b21b2d8a65ce432efaa370fe2fa.tar.gz android-node-v8-ef4170ea03a80b21b2d8a65ce432efaa370fe2fa.tar.bz2 android-node-v8-ef4170ea03a80b21b2d8a65ce432efaa370fe2fa.zip |
deps: upgrade to V8 4.8.271.17
Pick up V8 4.8 branch-head. This branch brings in @@isConcatSpreadable,
@@toPrimitive and ToLength ES6 changes. For full details see:
http://v8project.blogspot.de/2015/11/v8-release-48.html
https://github.com/v8/v8/commit/fa163e2
Ref: https://github.com/nodejs/node/pull/4399
PR-URL: https://github.com/nodejs/node/pull/4785
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/code-factory.cc')
-rw-r--r-- | deps/v8/src/code-factory.cc | 112 |
1 files changed, 88 insertions, 24 deletions
diff --git a/deps/v8/src/code-factory.cc b/deps/v8/src/code-factory.cc index 9e776b40fc..ad6890bf22 100644 --- a/deps/v8/src/code-factory.cc +++ b/deps/v8/src/code-factory.cc @@ -59,17 +59,17 @@ Callable CodeFactory::KeyedLoadICInOptimizedCode( // static Callable CodeFactory::CallIC(Isolate* isolate, int argc, - CallICState::CallType call_type) { - return Callable(CallIC::initialize_stub(isolate, argc, call_type), + ConvertReceiverMode mode) { + return Callable(CallIC::initialize_stub(isolate, argc, mode), CallFunctionWithFeedbackDescriptor(isolate)); } // static Callable CodeFactory::CallICInOptimizedCode(Isolate* isolate, int argc, - CallICState::CallType call_type) { + ConvertReceiverMode mode) { return Callable( - CallIC::initialize_stub_in_optimized_code(isolate, argc, call_type), + CallIC::initialize_stub_in_optimized_code(isolate, argc, mode), CallFunctionWithFeedbackAndVectorDescriptor(isolate)); } @@ -130,24 +130,16 @@ Callable CodeFactory::CompareIC(Isolate* isolate, Token::Value op, // static -Callable CodeFactory::BinaryOpIC(Isolate* isolate, Token::Value op, - Strength strength) { - BinaryOpICStub stub(isolate, op, strength); - return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); +Callable CodeFactory::CompareNilIC(Isolate* isolate, NilValue nil_value) { + Handle<Code> code = CompareNilICStub::GetUninitialized(isolate, nil_value); + return Callable(code, CompareNilDescriptor(isolate)); } // static -Callable CodeFactory::LoadGlobalViaContext(Isolate* isolate, int depth) { - LoadGlobalViaContextStub stub(isolate, depth); - return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); -} - - -// static -Callable CodeFactory::StoreGlobalViaContext(Isolate* isolate, int depth, - LanguageMode language_mode) { - StoreGlobalViaContextStub stub(isolate, depth, language_mode); +Callable CodeFactory::BinaryOpIC(Isolate* isolate, Token::Value op, + Strength strength) { + BinaryOpICStub stub(isolate, op, strength); return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); } @@ -183,6 +175,13 @@ Callable CodeFactory::ToString(Isolate* isolate) { // static +Callable CodeFactory::ToLength(Isolate* isolate) { + ToLengthStub stub(isolate); + return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); +} + + +// static Callable CodeFactory::ToObject(Isolate* isolate) { ToObjectStub stub(isolate); return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); @@ -190,6 +189,20 @@ Callable CodeFactory::ToObject(Isolate* isolate) { // static +Callable CodeFactory::NumberToString(Isolate* isolate) { + NumberToStringStub stub(isolate); + return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); +} + + +// static +Callable CodeFactory::RegExpConstructResult(Isolate* isolate) { + RegExpConstructResultStub stub(isolate); + return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); +} + + +// static Callable CodeFactory::StringAdd(Isolate* isolate, StringAddFlags flags, PretenureFlag pretenure_flag) { StringAddStub stub(isolate, flags, pretenure_flag); @@ -227,6 +240,13 @@ Callable CodeFactory::FastCloneShallowObject(Isolate* isolate, int length) { // static +Callable CodeFactory::FastNewContext(Isolate* isolate, int slot_count) { + FastNewContextStub stub(isolate, slot_count); + return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); +} + + +// static Callable CodeFactory::FastNewClosure(Isolate* isolate, LanguageMode language_mode, FunctionKind kind) { @@ -254,17 +274,61 @@ Callable CodeFactory::AllocateHeapNumber(Isolate* isolate) { // static -Callable CodeFactory::CallFunction(Isolate* isolate, int argc, - CallFunctionFlags flags) { - CallFunctionStub stub(isolate, argc, flags); +Callable CodeFactory::AllocateMutableHeapNumber(Isolate* isolate) { + AllocateMutableHeapNumberStub stub(isolate); + return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); +} + + +// static +Callable CodeFactory::AllocateInNewSpace(Isolate* isolate) { + AllocateInNewSpaceStub stub(isolate); return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor()); } // static -Callable CodeFactory::PushArgsAndCall(Isolate* isolate) { - return Callable(isolate->builtins()->PushArgsAndCall(), - PushArgsAndCallDescriptor(isolate)); +Callable CodeFactory::ArgumentAdaptor(Isolate* isolate) { + return Callable(isolate->builtins()->ArgumentsAdaptorTrampoline(), + ArgumentAdaptorDescriptor(isolate)); +} + + +// static +Callable CodeFactory::Call(Isolate* isolate, ConvertReceiverMode mode) { + return Callable(isolate->builtins()->Call(mode), + CallTrampolineDescriptor(isolate)); +} + + +// static +Callable CodeFactory::CallFunction(Isolate* isolate, ConvertReceiverMode mode) { + return Callable(isolate->builtins()->CallFunction(mode), + CallTrampolineDescriptor(isolate)); +} + + +// static +Callable CodeFactory::InterpreterPushArgsAndCall(Isolate* isolate) { + return Callable(isolate->builtins()->InterpreterPushArgsAndCall(), + InterpreterPushArgsAndCallDescriptor(isolate)); +} + + +// static +Callable CodeFactory::InterpreterPushArgsAndConstruct(Isolate* isolate) { + return Callable(isolate->builtins()->InterpreterPushArgsAndConstruct(), + InterpreterPushArgsAndConstructDescriptor(isolate)); +} + + +// static +Callable CodeFactory::InterpreterCEntry(Isolate* isolate) { + // TODO(rmcilroy): Deal with runtime functions that return two values. + // Note: If we ever use fpregs in the interpreter then we will need to + // save fpregs too. + CEntryStub stub(isolate, 1, kDontSaveFPRegs, kArgvInRegister); + return Callable(stub.GetCode(), InterpreterCEntryDescriptor(isolate)); } } // namespace internal |