Commit 30c60f38 authored by Marja Hölttä's avatar Marja Hölttä Committed by Commit Bot

[bootstrapper] Remove erroneous DCHECK

The DCHECK is true in the current V8 / Chrome. However, an embedder
can create a snapshot where the object in question has dictionary
properties (by using the object as a prototype). When reading the
snapshot, in the object already has dictionary properties, and adding a
property to it won't change it.

The erroneous DCHECK was used to assert that adding a property to an
object won't turn it to dictionary mode. But now it's in the wrong
place, since this part of the code is executed after reading the
snapshot in.

The corresponding DCHECKs which are executed when setting up the objects
before snapshot creation are still valid.

Fixing the behavior wrt whether the object should turn dictionary
mode or whether it should turn back is beyond the scope of this CL.

See https://github.com/nodejs/node-v8/issues/160

Bug: v8:10479
Change-Id: Ie62c80495d4f4494eeb3a16b5bfe02305c0cac95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2246577Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68357}
parent f21291bc
......@@ -4247,8 +4247,6 @@ void Genesis::InitializeGlobal_harmony_promise_any() {
Handle<JSFunction> promise_any = InstallFunctionWithBuiltinId(
isolate_, promise_fun, "any", Builtins::kPromiseAny, 1, true);
native_context()->set_promise_any(*promise_any);
DCHECK(promise_fun->HasFastProperties());
}
void Genesis::InitializeGlobal_harmony_promise_all_settled() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment