Revert "[turbofan] Serialize missing objects"
This reverts commit d82600ecc8
.
Reason for revert: Blocking the roll, see https://ci.chromium.org/p/chromium/builders/try/linux-rel/181725
Original change's description:
> [turbofan] Serialize missing objects
>
> Added a few objects to the standard objects list, as well as specific
> builtins when the corresponding runtime calls are detected in the
> serializer. Now JSHeapCopyReducer is needed only when concurrent
> inlining is disabled.
>
> Bug: v8:7790
> Change-Id: I91d933611b0352df8ede4fded665f13669591fef
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781053
> Reviewed-by: Georg Neis <neis@chromium.org>
> Commit-Queue: Maya Lekova <mslekova@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#63509}
TBR=neis@chromium.org,mslekova@chromium.org
Change-Id: I5eb8a8371994822debb852fc2a090ba585826d4a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7790
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1782157
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63514}
This commit is contained in:
parent
70dd77c7c1
commit
8b455eff56
@ -2342,23 +2342,13 @@ void JSHeapBroker::InitializeRefsMap() {
|
|||||||
Builtins::kAllocateRegularInOldGeneration,
|
Builtins::kAllocateRegularInOldGeneration,
|
||||||
Builtins::kArgumentsAdaptorTrampoline,
|
Builtins::kArgumentsAdaptorTrampoline,
|
||||||
Builtins::kArrayConstructorImpl,
|
Builtins::kArrayConstructorImpl,
|
||||||
Builtins::kArrayIncludesHoleyDoubles,
|
|
||||||
Builtins::kArrayIncludesPackedDoubles,
|
|
||||||
Builtins::kArrayIncludesSmiOrObject,
|
|
||||||
Builtins::kArrayIndexOfHoleyDoubles,
|
|
||||||
Builtins::kArrayIndexOfPackedDoubles,
|
|
||||||
Builtins::kArrayIndexOfSmiOrObject,
|
|
||||||
Builtins::kCallApiCallback,
|
|
||||||
Builtins::kCallFunctionForwardVarargs,
|
Builtins::kCallFunctionForwardVarargs,
|
||||||
Builtins::kCallFunction_ReceiverIsAny,
|
Builtins::kCallFunction_ReceiverIsAny,
|
||||||
Builtins::kCallFunction_ReceiverIsNotNullOrUndefined,
|
Builtins::kCallFunction_ReceiverIsNotNullOrUndefined,
|
||||||
Builtins::kCallFunction_ReceiverIsNullOrUndefined,
|
Builtins::kCallFunction_ReceiverIsNullOrUndefined,
|
||||||
Builtins::kCloneFastJSArray,
|
|
||||||
Builtins::kCompileLazy,
|
Builtins::kCompileLazy,
|
||||||
Builtins::kConstructFunctionForwardVarargs,
|
Builtins::kConstructFunctionForwardVarargs,
|
||||||
Builtins::kForInFilter,
|
Builtins::kForInFilter,
|
||||||
Builtins::kGetProperty,
|
|
||||||
Builtins::kIncBlockCounter,
|
|
||||||
Builtins::kJSBuiltinsConstructStub,
|
Builtins::kJSBuiltinsConstructStub,
|
||||||
Builtins::kJSConstructStubGeneric,
|
Builtins::kJSConstructStubGeneric,
|
||||||
Builtins::kStringAdd_CheckNone,
|
Builtins::kStringAdd_CheckNone,
|
||||||
@ -2492,8 +2482,6 @@ void JSHeapBroker::InitializeAndStartSerializing(
|
|||||||
GetOrCreateData(f->optimized_out());
|
GetOrCreateData(f->optimized_out());
|
||||||
GetOrCreateData(f->optimized_out_map());
|
GetOrCreateData(f->optimized_out_map());
|
||||||
GetOrCreateData(f->property_array_map());
|
GetOrCreateData(f->property_array_map());
|
||||||
GetOrCreateData(f->ReflectHas_string());
|
|
||||||
GetOrCreateData(f->ReflectGet_string());
|
|
||||||
GetOrCreateData(f->sloppy_arguments_elements_map());
|
GetOrCreateData(f->sloppy_arguments_elements_map());
|
||||||
GetOrCreateData(f->stale_register());
|
GetOrCreateData(f->stale_register());
|
||||||
GetOrCreateData(f->stale_register_map());
|
GetOrCreateData(f->stale_register_map());
|
||||||
|
@ -27,8 +27,8 @@ JSHeapBroker* JSHeapCopyReducer::broker() { return broker_; }
|
|||||||
Reduction JSHeapCopyReducer::Reduce(Node* node) {
|
Reduction JSHeapCopyReducer::Reduce(Node* node) {
|
||||||
switch (node->opcode()) {
|
switch (node->opcode()) {
|
||||||
case IrOpcode::kHeapConstant: {
|
case IrOpcode::kHeapConstant: {
|
||||||
|
ObjectRef object(broker(), HeapConstantOf(node->op()));
|
||||||
if (!FLAG_concurrent_inlining) {
|
if (!FLAG_concurrent_inlining) {
|
||||||
ObjectRef object(broker(), HeapConstantOf(node->op()));
|
|
||||||
if (object.IsJSFunction()) object.AsJSFunction().Serialize();
|
if (object.IsJSFunction()) object.AsJSFunction().Serialize();
|
||||||
if (object.IsJSObject()) {
|
if (object.IsJSObject()) {
|
||||||
object.AsJSObject().SerializeObjectCreateMap();
|
object.AsJSObject().SerializeObjectCreateMap();
|
||||||
|
@ -1130,76 +1130,16 @@ void SerializerForBackgroundCompilation::VisitInvokeIntrinsic(
|
|||||||
Runtime::FunctionId functionId = iterator->GetIntrinsicIdOperand(0);
|
Runtime::FunctionId functionId = iterator->GetIntrinsicIdOperand(0);
|
||||||
// For JSNativeContextSpecialization::ReduceJSAsyncFunctionResolve and
|
// For JSNativeContextSpecialization::ReduceJSAsyncFunctionResolve and
|
||||||
// JSNativeContextSpecialization::ReduceJSResolvePromise.
|
// JSNativeContextSpecialization::ReduceJSResolvePromise.
|
||||||
switch (functionId) {
|
if (functionId == Runtime::kInlineAsyncFunctionResolve) {
|
||||||
case Runtime::kInlineAsyncFunctionResolve: {
|
interpreter::Register first_reg = iterator->GetRegisterOperand(1);
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
size_t reg_count = iterator->GetRegisterCountOperand(2);
|
||||||
Builtins::kAsyncFunctionResolve));
|
CHECK_EQ(reg_count, 3);
|
||||||
interpreter::Register first_reg = iterator->GetRegisterOperand(1);
|
HintsVector arguments(zone());
|
||||||
size_t reg_count = iterator->GetRegisterCountOperand(2);
|
environment()->ExportRegisterHints(first_reg, reg_count, &arguments);
|
||||||
CHECK_EQ(reg_count, 3);
|
Hints const& resolution_hints = arguments[1]; // The resolution object.
|
||||||
HintsVector arguments(zone());
|
ProcessHintsForPromiseResolve(resolution_hints);
|
||||||
environment()->ExportRegisterHints(first_reg, reg_count, &arguments);
|
environment()->accumulator_hints().Clear();
|
||||||
Hints const& resolution_hints = arguments[1]; // The resolution object.
|
return;
|
||||||
ProcessHintsForPromiseResolve(resolution_hints);
|
|
||||||
environment()->accumulator_hints().Clear();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
case Runtime::kInlineAsyncGeneratorReject:
|
|
||||||
case Runtime::kAsyncGeneratorReject: {
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kAsyncGeneratorReject));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case Runtime::kInlineAsyncGeneratorResolve:
|
|
||||||
case Runtime::kAsyncGeneratorResolve: {
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kAsyncGeneratorResolve));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case Runtime::kInlineAsyncGeneratorYield:
|
|
||||||
case Runtime::kAsyncGeneratorYield: {
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kAsyncGeneratorYield));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case Runtime::kInlineAsyncGeneratorAwaitUncaught:
|
|
||||||
case Runtime::kAsyncGeneratorAwaitUncaught: {
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kAsyncGeneratorAwaitUncaught));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case Runtime::kInlineAsyncGeneratorAwaitCaught:
|
|
||||||
case Runtime::kAsyncGeneratorAwaitCaught: {
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kAsyncGeneratorAwaitCaught));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case Runtime::kInlineAsyncFunctionAwaitUncaught:
|
|
||||||
case Runtime::kAsyncFunctionAwaitUncaught: {
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kAsyncFunctionAwaitUncaught));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case Runtime::kInlineAsyncFunctionAwaitCaught:
|
|
||||||
case Runtime::kAsyncFunctionAwaitCaught: {
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kAsyncFunctionAwaitCaught));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case Runtime::kInlineAsyncFunctionReject:
|
|
||||||
case Runtime::kAsyncFunctionReject: {
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kAsyncFunctionReject));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case Runtime::kAsyncFunctionResolve: {
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kAsyncFunctionResolve));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
environment()->ClearEphemeralHints();
|
environment()->ClearEphemeralHints();
|
||||||
}
|
}
|
||||||
@ -2037,18 +1977,6 @@ void SerializerForBackgroundCompilation::ProcessBuiltinCall(
|
|||||||
ProcessHintsForObjectGetPrototype(arguments[0]);
|
ProcessHintsForObjectGetPrototype(arguments[0]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Builtins::kMapIteratorPrototypeNext:
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kOrderedHashTableHealIndex));
|
|
||||||
ObjectRef(broker(),
|
|
||||||
broker()->isolate()->factory()->empty_ordered_hash_map());
|
|
||||||
break;
|
|
||||||
case Builtins::kSetIteratorPrototypeNext:
|
|
||||||
ObjectRef(broker(), broker()->isolate()->builtins()->builtin_handle(
|
|
||||||
Builtins::kOrderedHashTableHealIndex));
|
|
||||||
ObjectRef(broker(),
|
|
||||||
broker()->isolate()->factory()->empty_ordered_hash_set());
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user