MIPS: Fix r21470 “Reland r21442 Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
BUG= R=plind44@gmail.com Review URL: https://codereview.chromium.org/297093002 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
50e9d22a44
commit
b2fc45955c
@ -379,9 +379,6 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ lbu(a3, FieldMemOperand(a2, Map::kInstanceTypeOffset));
|
||||
__ Branch(&rt_call, eq, a3, Operand(JS_FUNCTION_TYPE));
|
||||
|
||||
// Use t7 to hold undefined, which is used in several places below.
|
||||
__ LoadRoot(t7, Heap::kUndefinedValueRootIndex);
|
||||
|
||||
if (!is_api_function) {
|
||||
Label allocate;
|
||||
MemOperand bit_field3 = FieldMemOperand(a2, Map::kBitField3Offset);
|
||||
@ -399,6 +396,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
__ CallRuntime(Runtime::kHiddenFinalizeInstanceSize, 1);
|
||||
|
||||
__ Pop(a1, a2);
|
||||
// Slack tracking counter is kNoSlackTracking after runtime call.
|
||||
ASSERT(JSFunction::kNoSlackTracking == 0);
|
||||
__ mov(t2, zero_reg);
|
||||
|
||||
__ bind(&allocate);
|
||||
}
|
||||
@ -438,6 +438,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
||||
// t2: slack tracking counter (non-API function case)
|
||||
ASSERT_EQ(3 * kPointerSize, JSObject::kHeaderSize);
|
||||
|
||||
// Use t7 to hold undefined, which is used in several places below.
|
||||
__ LoadRoot(t7, Heap::kUndefinedValueRootIndex);
|
||||
|
||||
if (!is_api_function) {
|
||||
Label no_inobject_slack_tracking;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user