Commit a4c9cc46 authored by balazs.kilvady's avatar balazs.kilvady Committed by Commit bot

MIPS64: Load prototype from map in PropertyHandlerCompiler::CheckPrototypes.

Port 100db758

BUG=v8:3629
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25497}
parent 322bb23e
......@@ -411,12 +411,6 @@ Register PropertyHandlerCompiler::CheckPrototypes(
reg = holder_reg; // From now on the object will be in holder_reg.
__ ld(reg, FieldMemOperand(scratch1, Map::kPrototypeOffset));
} else {
// Two possible reasons for loading the prototype from the map:
// (1) Can't store references to new space in code.
// (2) Handler is shared for all receivers with the same prototype
// map (but not necessarily the same prototype instance).
bool load_prototype_from_map =
heap()->InNewSpace(*prototype) || depth == 1;
Register map_reg = scratch1;
if (depth != 1 || check == CHECK_ALL_MAPS) {
// CheckMap implicitly loads the map of |reg| into |map_reg|.
......@@ -440,11 +434,7 @@ Register PropertyHandlerCompiler::CheckPrototypes(
reg = holder_reg; // From now on the object will be in holder_reg.
if (load_prototype_from_map) {
__ ld(reg, FieldMemOperand(map_reg, Map::kPrototypeOffset));
} else {
__ li(reg, Operand(prototype));
}
__ ld(reg, FieldMemOperand(map_reg, Map::kPrototypeOffset));
}
// Go to the next object in the prototype chain.
......
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