Commit ac2a9f13 authored by Junliang Yan's avatar Junliang Yan Committed by Commit Bot

PPC/s390: Don't embed CompileLazyDeoptimizedCode

Port 71180e54

Original Commit Message:

    This changes the CompileLazyDeoptimizedCode call to use the standard
    builtin calling sequence, which (for optimized code) creates an
    inlined off-heap trampoline instead of embedding a CODE_TARGET.

    missing only for the case of inlined trampolines.

R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: Ie81856899dd5d1b1e745b748ed714d98b4dab7ac
Reviewed-on: https://chromium-review.googlesource.com/c/1394806Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#58532}
parent 657d979f
...@@ -823,12 +823,8 @@ void CodeGenerator::BailoutIfDeoptimized() { ...@@ -823,12 +823,8 @@ void CodeGenerator::BailoutIfDeoptimized() {
__ LoadWordArith( __ LoadWordArith(
r11, FieldMemOperand(r11, CodeDataContainer::kKindSpecificFlagsOffset)); r11, FieldMemOperand(r11, CodeDataContainer::kKindSpecificFlagsOffset));
__ TestBit(r11, Code::kMarkedForDeoptimizationBit); __ TestBit(r11, Code::kMarkedForDeoptimizationBit);
// Ensure we're not serializing (otherwise we'd need to use an indirection to __ Jump(BUILTIN_CODE(isolate(), CompileLazyDeoptimizedCode),
// access the builtin below). RelocInfo::CODE_TARGET, ne, cr0);
DCHECK(!isolate()->ShouldLoadConstantsFromRootList());
Handle<Code> code = isolate()->builtins()->builtin_handle(
Builtins::kCompileLazyDeoptimizedCode);
__ Jump(code, RelocInfo::CODE_TARGET, ne, cr0);
} }
void CodeGenerator::GenerateSpeculationPoisonFromCodeStartRegister() { void CodeGenerator::GenerateSpeculationPoisonFromCodeStartRegister() {
......
...@@ -1325,12 +1325,8 @@ void CodeGenerator::BailoutIfDeoptimized() { ...@@ -1325,12 +1325,8 @@ void CodeGenerator::BailoutIfDeoptimized() {
__ LoadW(ip, __ LoadW(ip,
FieldMemOperand(ip, CodeDataContainer::kKindSpecificFlagsOffset)); FieldMemOperand(ip, CodeDataContainer::kKindSpecificFlagsOffset));
__ TestBit(ip, Code::kMarkedForDeoptimizationBit); __ TestBit(ip, Code::kMarkedForDeoptimizationBit);
// Ensure we're not serializing (otherwise we'd need to use an indirection to __ Jump(BUILTIN_CODE(isolate(), CompileLazyDeoptimizedCode),
// access the builtin below). RelocInfo::CODE_TARGET, ne);
DCHECK(!isolate()->ShouldLoadConstantsFromRootList());
Handle<Code> code = isolate()->builtins()->builtin_handle(
Builtins::kCompileLazyDeoptimizedCode);
__ Jump(code, RelocInfo::CODE_TARGET, ne);
} }
void CodeGenerator::GenerateSpeculationPoisonFromCodeStartRegister() { void CodeGenerator::GenerateSpeculationPoisonFromCodeStartRegister() {
......
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