Commit 5a915973 authored by michael_dawson's avatar michael_dawson Committed by Commit bot

PPC: Ensure predictable code size at map_check in LCodeGen::DoInstanceOfKnownGlobal.

R=mbrandy@us.ibm.com, svenpanne@chromium.org

BUG=

Review URL: https://codereview.chromium.org/1035723003

Cr-Commit-Position: refs/heads/master@{#27446}
parent 0b49e84c
...@@ -2885,7 +2885,7 @@ void LCodeGen::DoInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr) { ...@@ -2885,7 +2885,7 @@ void LCodeGen::DoInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr) {
Register map = temp; Register map = temp;
__ LoadP(map, FieldMemOperand(object, HeapObject::kMapOffset)); __ LoadP(map, FieldMemOperand(object, HeapObject::kMapOffset));
{ {
// Block constant pool emission to ensure the positions of instructions are // Block trampoline emission to ensure the positions of instructions are
// as expected by the patcher. See InstanceofStub::Generate(). // as expected by the patcher. See InstanceofStub::Generate().
Assembler::BlockTrampolinePoolScope block_trampoline_pool(masm_); Assembler::BlockTrampolinePoolScope block_trampoline_pool(masm_);
__ bind(deferred->map_check()); // Label for calculating code patching. __ bind(deferred->map_check()); // Label for calculating code patching.
...@@ -2896,7 +2896,7 @@ void LCodeGen::DoInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr) { ...@@ -2896,7 +2896,7 @@ void LCodeGen::DoInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr) {
__ mov(ip, Operand(cell)); __ mov(ip, Operand(cell));
__ LoadP(ip, FieldMemOperand(ip, Cell::kValueOffset)); __ LoadP(ip, FieldMemOperand(ip, Cell::kValueOffset));
__ cmp(map, ip); __ cmp(map, ip);
__ bne(&cache_miss); __ bc_short(ne, &cache_miss);
// We use Factory::the_hole_value() on purpose instead of loading from the // We use Factory::the_hole_value() on purpose instead of loading from the
// root array to force relocation to be able to later patch // root array to force relocation to be able to later patch
// with true or false. // with true or false.
......
...@@ -606,9 +606,5 @@ ...@@ -606,9 +606,5 @@
# take too long with the simulator. # take too long with the simulator.
'regress/regress-1132': [SKIP], 'regress/regress-1132': [SKIP],
# these two issues started after uplevel, believe they share common cause
'debug-references': [SKIP],
'mirror-object': [SKIP],
}], # 'arch == ppc and simulator_run == True' }], # 'arch == ppc and simulator_run == True'
] ]
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