Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 3dd3fd678aaa284ae78025c05e872fa3df5dac89..d0958eef29a0faa736980f8b8bd23887da101375 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -3729,6 +3729,7 @@ Code::ExtraICState Code::extra_ic_state() { |
Code::ExtraICState Code::extended_extra_ic_state() { |
ASSERT(is_inline_cache_stub() || ic_state() == DEBUG_STUB); |
+ ASSERT(needs_extended_extra_ic_state(kind())); |
return ExtractExtendedExtraICStateFromFlags(flags()); |
} |
@@ -3979,17 +3980,7 @@ void Code::set_unary_op_type(byte value) { |
byte Code::to_boolean_state() { |
- ASSERT(is_to_boolean_ic_stub()); |
- return ToBooleanStateField::decode( |
- READ_UINT32_FIELD(this, kKindSpecificFlags1Offset)); |
-} |
- |
- |
-void Code::set_to_boolean_state(byte value) { |
- ASSERT(is_to_boolean_ic_stub()); |
- int previous = READ_UINT32_FIELD(this, kKindSpecificFlags1Offset); |
- int updated = ToBooleanStateField::update(previous, value); |
- WRITE_UINT32_FIELD(this, kKindSpecificFlags1Offset, updated); |
+ return extended_extra_ic_state(); |
} |
@@ -4052,10 +4043,7 @@ Code::Flags Code::ComputeFlags(Kind kind, |
| TypeField::encode(type) |
| ExtendedExtraICStateField::encode(extra_ic_state) |
| CacheHolderField::encode(holder); |
- // TODO(danno): This is a bit of a hack right now since there are still |
- // clients of this API that pass "extra" values in for argc. These clients |
- // should be retrofitted to used ExtendedExtraICState. |
- if (kind != Code::COMPARE_NIL_IC) { |
+ if (!Code::needs_extended_extra_ic_state(kind)) { |
bits |= (argc << kArgumentsCountShift); |
} |
return static_cast<Flags>(bits); |