diff options
author | Michaël Zasso <targos@protonmail.com> | 2017-06-06 10:28:14 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2017-06-07 10:33:31 +0200 |
commit | 3dc8c3bed4cf3a77607edbb0b015e33f8b60fc09 (patch) | |
tree | 9dee56e142638b34f1eccbd0ad88c3bce5377c29 /deps/v8/src/code-factory.cc | |
parent | 91a1bbe3055a660194ca4d403795aa0c03e9d056 (diff) | |
download | node-new-3dc8c3bed4cf3a77607edbb0b015e33f8b60fc09.tar.gz |
deps: update V8 to 5.9.211.32
PR-URL: https://github.com/nodejs/node/pull/13263
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Diffstat (limited to 'deps/v8/src/code-factory.cc')
-rw-r--r-- | deps/v8/src/code-factory.cc | 147 |
1 files changed, 100 insertions, 47 deletions
diff --git a/deps/v8/src/code-factory.cc b/deps/v8/src/code-factory.cc index 3ebfad0e7f..71fbb1dbab 100644 --- a/deps/v8/src/code-factory.cc +++ b/deps/v8/src/code-factory.cc @@ -5,6 +5,7 @@ #include "src/code-factory.h" #include "src/bootstrapper.h" +#include "src/builtins/builtins-descriptors.h" #include "src/ic/ic.h" #include "src/objects-inl.h" @@ -57,6 +58,12 @@ Callable CodeFactory::LoadICInOptimizedCode(Isolate* isolate) { } // static +Callable CodeFactory::LoadICInOptimizedCode_Noninlined(Isolate* isolate) { + return Callable(isolate->builtins()->LoadIC_Noninlined(), + LoadWithVectorDescriptor(isolate)); +} + +// static Callable CodeFactory::LoadGlobalIC(Isolate* isolate, TypeofMode typeof_mode) { return Callable( typeof_mode == NOT_INSIDE_TYPEOF @@ -117,6 +124,15 @@ Callable CodeFactory::StoreICInOptimizedCode(Isolate* isolate, StoreWithVectorDescriptor(isolate)); } +// static +Callable CodeFactory::StoreIC_Uninitialized(Isolate* isolate, + LanguageMode language_mode) { + return Callable(language_mode == STRICT + ? isolate->builtins()->StoreICStrict_Uninitialized() + : isolate->builtins()->StoreIC_Uninitialized(), + StoreWithVectorDescriptor(isolate)); +} + Callable CodeFactory::StoreOwnIC(Isolate* isolate) { // TODO(ishell): Currently we use StoreOwnIC only for storing properties that // already exist in the boilerplate therefore we can use StoreIC. @@ -132,6 +148,25 @@ Callable CodeFactory::StoreOwnICInOptimizedCode(Isolate* isolate) { } // static +Callable CodeFactory::StoreGlobalIC(Isolate* isolate, + LanguageMode language_mode) { + // TODO(ishell): Use StoreGlobalIC[Strict]Trampoline when it's ready. + return Callable(language_mode == STRICT + ? isolate->builtins()->StoreICStrictTrampoline() + : isolate->builtins()->StoreICTrampoline(), + StoreDescriptor(isolate)); +} + +// static +Callable CodeFactory::StoreGlobalICInOptimizedCode(Isolate* isolate, + LanguageMode language_mode) { + // TODO(ishell): Use StoreGlobalIC[Strict] when it's ready. + return Callable(language_mode == STRICT ? isolate->builtins()->StoreICStrict() + : isolate->builtins()->StoreIC(), + StoreWithVectorDescriptor(isolate)); +} + +// static Callable CodeFactory::KeyedStoreIC(Isolate* isolate, LanguageMode language_mode) { return Callable(language_mode == STRICT @@ -208,16 +243,10 @@ Callable CodeFactory::StringFromCharCode(Isolate* isolate) { return Callable(code, BuiltinDescriptor(isolate)); } -#define DECLARE_TFS(Name, Kind, Extra, InterfaceDescriptor, result_size) \ - typedef InterfaceDescriptor##Descriptor Name##Descriptor; -BUILTIN_LIST(IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN, DECLARE_TFS, - IGNORE_BUILTIN, IGNORE_BUILTIN, IGNORE_BUILTIN) -#undef DECLARE_TFS - -#define TFS_BUILTIN(Name) \ - Callable CodeFactory::Name(Isolate* isolate) { \ - Handle<Code> code(isolate->builtins()->Name()); \ - return Callable(code, Name##Descriptor(isolate)); \ +#define TFS_BUILTIN(Name) \ + Callable CodeFactory::Name(Isolate* isolate) { \ + Handle<Code> code(isolate->builtins()->Name()); \ + return Callable(code, Builtin_##Name##_InterfaceDescriptor(isolate)); \ } TFS_BUILTIN(ToString) @@ -237,9 +266,7 @@ TFS_BUILTIN(LessThanOrEqual) TFS_BUILTIN(GreaterThan) TFS_BUILTIN(GreaterThanOrEqual) TFS_BUILTIN(Equal) -TFS_BUILTIN(NotEqual) TFS_BUILTIN(StrictEqual) -TFS_BUILTIN(StrictNotEqual) TFS_BUILTIN(CreateIterResultObject) TFS_BUILTIN(HasProperty) TFS_BUILTIN(NonNumberToNumber) @@ -258,12 +285,15 @@ TFS_BUILTIN(CopyFastSmiOrObjectElements) TFS_BUILTIN(GrowFastDoubleElements) TFS_BUILTIN(GrowFastSmiOrObjectElements) TFS_BUILTIN(NewUnmappedArgumentsElements) -TFS_BUILTIN(NewRestParameterElements) TFS_BUILTIN(FastCloneRegExp) TFS_BUILTIN(FastNewClosure) TFS_BUILTIN(FastNewObject) +TFS_BUILTIN(FastNewRestParameter) +TFS_BUILTIN(FastNewSloppyArguments) +TFS_BUILTIN(FastNewStrictArguments) TFS_BUILTIN(ForInFilter) TFS_BUILTIN(GetSuperConstructor) +TFS_BUILTIN(LoadIC_Uninitialized) TFS_BUILTIN(KeyedLoadIC_Megamorphic) TFS_BUILTIN(PromiseHandleReject) TFS_BUILTIN(RegExpReplace) @@ -271,11 +301,13 @@ TFS_BUILTIN(RegExpSplit) TFS_BUILTIN(StringCharAt) TFS_BUILTIN(StringCharCodeAt) TFS_BUILTIN(StringEqual) -TFS_BUILTIN(StringNotEqual) TFS_BUILTIN(StringLessThan) TFS_BUILTIN(StringLessThanOrEqual) TFS_BUILTIN(StringGreaterThan) TFS_BUILTIN(StringGreaterThanOrEqual) +TFS_BUILTIN(AsyncGeneratorResolve) +TFS_BUILTIN(AsyncGeneratorReject) +TFS_BUILTIN(AsyncGeneratorResumeNext) #undef TFS_BUILTIN @@ -292,9 +324,6 @@ Callable CodeFactory::StringCompare(Isolate* isolate, Token::Value token) { case Token::EQ: case Token::EQ_STRICT: return StringEqual(isolate); - case Token::NE: - case Token::NE_STRICT: - return StringNotEqual(isolate); case Token::LT: return StringLessThan(isolate); case Token::GT: @@ -361,24 +390,6 @@ Callable CodeFactory::FastNewFunctionContext(Isolate* isolate, } // static -Callable CodeFactory::FastNewRestParameter(Isolate* isolate) { - return Callable(isolate->builtins()->FastNewRestParameter(), - FastNewRestParameterDescriptor(isolate)); -} - -// static -Callable CodeFactory::FastNewSloppyArguments(Isolate* isolate) { - return Callable(isolate->builtins()->FastNewSloppyArguments(), - FastNewRestParameterDescriptor(isolate)); -} - -// static -Callable CodeFactory::FastNewStrictArguments(Isolate* isolate) { - return Callable(isolate->builtins()->FastNewStrictArguments(), - FastNewRestParameterDescriptor(isolate)); -} - -// static Callable CodeFactory::ForInPrepare(Isolate* isolate) { return Callable(isolate->builtins()->ForInPrepare(), ForInPrepareDescriptor(isolate)); @@ -453,25 +464,25 @@ Callable CodeFactory::ConstructFunction(Isolate* isolate) { } // static -Callable CodeFactory::InterpreterPushArgsAndCall(Isolate* isolate, - TailCallMode tail_call_mode, - InterpreterPushArgsMode mode) { - return Callable( - isolate->builtins()->InterpreterPushArgsAndCall(tail_call_mode, mode), - InterpreterPushArgsAndCallDescriptor(isolate)); +Callable CodeFactory::InterpreterPushArgsThenCall( + Isolate* isolate, ConvertReceiverMode receiver_mode, + TailCallMode tail_call_mode, InterpreterPushArgsMode mode) { + return Callable(isolate->builtins()->InterpreterPushArgsThenCall( + receiver_mode, tail_call_mode, mode), + InterpreterPushArgsThenCallDescriptor(isolate)); } // static -Callable CodeFactory::InterpreterPushArgsAndConstruct( +Callable CodeFactory::InterpreterPushArgsThenConstruct( Isolate* isolate, InterpreterPushArgsMode mode) { - return Callable(isolate->builtins()->InterpreterPushArgsAndConstruct(mode), - InterpreterPushArgsAndConstructDescriptor(isolate)); + return Callable(isolate->builtins()->InterpreterPushArgsThenConstruct(mode), + InterpreterPushArgsThenConstructDescriptor(isolate)); } // static -Callable CodeFactory::InterpreterPushArgsAndConstructArray(Isolate* isolate) { - return Callable(isolate->builtins()->InterpreterPushArgsAndConstructArray(), - InterpreterPushArgsAndConstructArrayDescriptor(isolate)); +Callable CodeFactory::InterpreterPushArgsThenConstructArray(Isolate* isolate) { + return Callable(isolate->builtins()->InterpreterPushArgsThenConstructArray(), + InterpreterPushArgsThenConstructArrayDescriptor(isolate)); } // static @@ -500,6 +511,48 @@ Callable CodeFactory::ArrayPush(Isolate* isolate) { } // static +Callable CodeFactory::ArrayFilterLoopContinuation(Isolate* isolate) { + return Callable(isolate->builtins()->ArrayFilterLoopContinuation(), + IteratingArrayBuiltinLoopContinuationDescriptor(isolate)); +} + +// static +Callable CodeFactory::ArrayMapLoopContinuation(Isolate* isolate) { + return Callable(isolate->builtins()->ArrayMapLoopContinuation(), + IteratingArrayBuiltinLoopContinuationDescriptor(isolate)); +} + +// static +Callable CodeFactory::ArrayForEachLoopContinuation(Isolate* isolate) { + return Callable(isolate->builtins()->ArrayForEachLoopContinuation(), + IteratingArrayBuiltinLoopContinuationDescriptor(isolate)); +} + +// static +Callable CodeFactory::ArraySomeLoopContinuation(Isolate* isolate) { + return Callable(isolate->builtins()->ArraySomeLoopContinuation(), + IteratingArrayBuiltinLoopContinuationDescriptor(isolate)); +} + +// static +Callable CodeFactory::ArrayEveryLoopContinuation(Isolate* isolate) { + return Callable(isolate->builtins()->ArrayEveryLoopContinuation(), + IteratingArrayBuiltinLoopContinuationDescriptor(isolate)); +} + +// static +Callable CodeFactory::ArrayReduceLoopContinuation(Isolate* isolate) { + return Callable(isolate->builtins()->ArrayReduceLoopContinuation(), + IteratingArrayBuiltinLoopContinuationDescriptor(isolate)); +} + +// static +Callable CodeFactory::ArrayReduceRightLoopContinuation(Isolate* isolate) { + return Callable(isolate->builtins()->ArrayReduceRightLoopContinuation(), + IteratingArrayBuiltinLoopContinuationDescriptor(isolate)); +} + +// static Callable CodeFactory::FunctionPrototypeBind(Isolate* isolate) { return Callable(isolate->builtins()->FunctionPrototypeBind(), BuiltinDescriptor(isolate)); |