diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-09-23 16:06:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-09-24 11:41:55 +0000 |
commit | bac1035f131c0b95b75fb39ffd1a39652843de9f (patch) | |
tree | 44839fddbea648d54e4be47bcfbe4a5979bacd29 /chromium/v8/src/builtins/base.tq | |
parent | 271a6c3487a14599023a9106329505597638d793 (diff) |
BASELINE: Update Chromium to 77.0.3865.98
Change-Id: Ice85979eb8b64af9a3c649d719bec6ea14ac3bf7
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/v8/src/builtins/base.tq')
-rw-r--r-- | chromium/v8/src/builtins/base.tq | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chromium/v8/src/builtins/base.tq b/chromium/v8/src/builtins/base.tq index 4aa1d578374..07af1f441f8 100644 --- a/chromium/v8/src/builtins/base.tq +++ b/chromium/v8/src/builtins/base.tq @@ -336,10 +336,16 @@ macro NewJSObject(implicit context: Context)(): JSObject { }; } +extern macro HasPrototypeSlot(JSFunction): bool; + macro GetDerivedMap(implicit context: Context)( target: JSFunction, newTarget: JSReceiver): Map { try { const constructor = Cast<JSFunction>(newTarget) otherwise SlowPath; + if (!HasPrototypeSlot(constructor)) { + goto SlowPath; + } + assert(IsConstructor(constructor)); const map = Cast<Map>(constructor.prototype_or_initial_map) otherwise SlowPath; if (LoadConstructorOrBackPointer(map) != target) { |