diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-05-16 09:59:13 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-05-20 10:28:53 +0000 |
commit | 6c11fb357ec39bf087b8b632e2b1e375aef1b38b (patch) | |
tree | c8315530db18a8ee566521c39ab8a6af4f72bc03 /chromium/v8/src/builtins/builtins-proxy-gen.cc | |
parent | 3ffaed019d0772e59d6cdb2d0d32fe4834c31f72 (diff) | |
download | qtwebengine-chromium-6c11fb357ec39bf087b8b632e2b1e375aef1b38b.tar.gz |
BASELINE: Update Chromium to 74.0.3729.159
Change-Id: I8d2497da544c275415aedd94dd25328d555de811
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/v8/src/builtins/builtins-proxy-gen.cc')
-rw-r--r-- | chromium/v8/src/builtins/builtins-proxy-gen.cc | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/chromium/v8/src/builtins/builtins-proxy-gen.cc b/chromium/v8/src/builtins/builtins-proxy-gen.cc index 02b4d0b71e2..c5b1037dcb5 100644 --- a/chromium/v8/src/builtins/builtins-proxy-gen.cc +++ b/chromium/v8/src/builtins/builtins-proxy-gen.cc @@ -116,9 +116,7 @@ Node* ProxiesCodeStubAssembler::AllocateJSArrayForCodeStubArguments( TNode<Map> array_map = LoadJSArrayElementsMap(PACKED_ELEMENTS, native_context); TNode<JSArray> array = - AllocateUninitializedJSArrayWithoutElements(array_map, length); - StoreObjectFieldNoWriteBarrier(array, JSObject::kElementsOffset, - elements.value()); + AllocateJSArray(array_map, CAST(elements.value()), length); return array; } @@ -547,7 +545,6 @@ TF_BUILTIN(ProxySetProperty, ProxiesCodeStubAssembler) { Node* name = Parameter(Descriptor::kName); Node* value = Parameter(Descriptor::kValue); Node* receiver = Parameter(Descriptor::kReceiverValue); - TNode<Smi> language_mode = CAST(Parameter(Descriptor::kLanguageMode)); CSA_ASSERT(this, IsJSProxy(proxy)); @@ -598,13 +595,10 @@ TF_BUILTIN(ProxySetProperty, ProxiesCodeStubAssembler) { BIND(&failure); { - Label if_throw(this, Label::kDeferred); - Branch(SmiEqual(language_mode, SmiConstant(LanguageMode::kStrict)), - &if_throw, &success); - - BIND(&if_throw); - ThrowTypeError(context, MessageTemplate::kProxyTrapReturnedFalsishFor, - HeapConstant(set_string), name); + CallRuntime(Runtime::kThrowTypeErrorIfStrict, context, + SmiConstant(MessageTemplate::kProxyTrapReturnedFalsishFor), + HeapConstant(set_string), name); + Goto(&success); } // 12. Return true. @@ -613,23 +607,18 @@ TF_BUILTIN(ProxySetProperty, ProxiesCodeStubAssembler) { BIND(&private_symbol); { - Label failure(this), throw_error(this, Label::kDeferred); - - Branch(SmiEqual(language_mode, SmiConstant(LanguageMode::kStrict)), - &throw_error, &failure); + Label failure(this); - BIND(&failure); + CallRuntime(Runtime::kThrowTypeErrorIfStrict, context, + SmiConstant(MessageTemplate::kProxyPrivate)); Return(UndefinedConstant()); - - BIND(&throw_error); - ThrowTypeError(context, MessageTemplate::kProxyPrivate); } BIND(&trap_undefined); { // 7.a. Return ? target.[[Set]](P, V, Receiver). CallRuntime(Runtime::kSetPropertyWithReceiver, context, target, name, value, - receiver, language_mode); + receiver); Return(value); } @@ -647,6 +636,7 @@ void ProxiesCodeStubAssembler::CheckGetSetTrapResult( Label if_found_value(this), check_in_runtime(this, Label::kDeferred); + GotoIfNot(IsUniqueNameNoIndex(CAST(name)), &check_in_runtime); Node* instance_type = LoadInstanceType(target); TryGetOwnProperty(context, target, target, map, instance_type, name, &if_found_value, &var_value, &var_details, &var_raw_value, @@ -754,6 +744,7 @@ void ProxiesCodeStubAssembler::CheckHasTrapResult(Node* context, Node* target, throw_non_extensible(this, Label::kDeferred); // 9.a. Let targetDesc be ? target.[[GetOwnProperty]](P). + GotoIfNot(IsUniqueNameNoIndex(CAST(name)), if_bailout); Node* instance_type = LoadInstanceType(target); TryGetOwnProperty(context, target, target, target_map, instance_type, name, &if_found_value, &var_value, &var_details, &var_raw_value, |