summaryrefslogtreecommitdiff
path: root/chromium/v8/src/builtins/builtins-proxy-gen.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-16 09:59:13 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-20 10:28:53 +0000
commit6c11fb357ec39bf087b8b632e2b1e375aef1b38b (patch)
treec8315530db18a8ee566521c39ab8a6af4f72bc03 /chromium/v8/src/builtins/builtins-proxy-gen.cc
parent3ffaed019d0772e59d6cdb2d0d32fe4834c31f72 (diff)
downloadqtwebengine-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.cc31
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,