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:
Maya Lekova 2019-09-03 07:29:51 +00:00 committed by Commit Bot
parent 70dd77c7c1
commit 8b455eff56
3 changed files with 11 additions and 95 deletions

View File

@ -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());

View File

@ -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();

View File

@ -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;
} }