Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index eeddcd290074bea8693da678dc4b708fe61638e2..5767489660dd57e6d3fc572ca1b1d250dde53722 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -160,18 +160,17 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
if (!is_api_function) { |
Label allocate; |
// The code below relies on these assumptions. |
- STATIC_ASSERT(JSFunction::kNoSlackTracking == 0); |
- STATIC_ASSERT(Map::ConstructionCount::kShift + |
- Map::ConstructionCount::kSize == 32); |
+ STATIC_ASSERT(Map::Counter::kShift + Map::Counter::kSize == 32); |
// Check if slack tracking is enabled. |
__ mov(esi, FieldOperand(eax, Map::kBitField3Offset)); |
- __ shr(esi, Map::ConstructionCount::kShift); |
- __ j(zero, &allocate); // JSFunction::kNoSlackTracking |
+ __ shr(esi, Map::Counter::kShift); |
+ __ cmp(esi, Map::kSlackTrackingCounterEnd); |
+ __ j(less, &allocate); |
// Decrease generous allocation count. |
__ sub(FieldOperand(eax, Map::kBitField3Offset), |
- Immediate(1 << Map::ConstructionCount::kShift)); |
+ Immediate(1 << Map::Counter::kShift)); |
- __ cmp(esi, JSFunction::kFinishSlackTracking); |
+ __ cmp(esi, Map::kSlackTrackingCounterEnd); |
__ j(not_equal, &allocate); |
__ push(eax); |
@@ -182,7 +181,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
__ pop(edi); |
__ pop(eax); |
- __ xor_(esi, esi); // JSFunction::kNoSlackTracking |
+ __ mov(esi, Map::kSlackTrackingCounterEnd - 1); |
__ bind(&allocate); |
} |
@@ -219,8 +218,8 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
Label no_inobject_slack_tracking; |
// Check if slack tracking is enabled. |
- __ cmp(esi, JSFunction::kNoSlackTracking); |
- __ j(equal, &no_inobject_slack_tracking); |
+ __ cmp(esi, Map::kSlackTrackingCounterEnd); |
+ __ j(less, &no_inobject_slack_tracking); |
// Allocate object with a slack. |
__ movzx_b(esi, |