| Index: src/objects-inl.h | 
| diff --git a/src/objects-inl.h b/src/objects-inl.h | 
| index 169475791d05ff9672dfff163ba14dde0506bea5..128dc6be2810cccfb9c5cc26e1e93e4d969ef0b0 100644 | 
| --- a/src/objects-inl.h | 
| +++ b/src/objects-inl.h | 
| @@ -3617,17 +3617,6 @@ bool Map::is_deprecated() { | 
| } | 
|  | 
|  | 
| -void Map::set_migration_target(bool value) { | 
| -  set_bit_field3(IsMigrationTarget::update(bit_field3(), value)); | 
| -} | 
| - | 
| - | 
| -bool Map::is_migration_target() { | 
| -  if (!FLAG_track_fields) return false; | 
| -  return IsMigrationTarget::decode(bit_field3()); | 
| -} | 
| - | 
| - | 
| void Map::freeze() { | 
| set_bit_field3(IsFrozen::update(bit_field3(), true)); | 
| } | 
| @@ -3688,6 +3677,11 @@ void Map::NotifyLeafMapLayoutChange() { | 
| } | 
|  | 
|  | 
| +bool Map::CanOmitPrototypeChecks() { | 
| +  return is_stable() && FLAG_omit_prototype_checks_for_leaf_maps; | 
| +} | 
| + | 
| + | 
| bool Map::CanOmitMapChecks() { | 
| return is_stable() && FLAG_omit_map_checks_for_leaf_maps; | 
| } | 
| @@ -3822,6 +3816,7 @@ inline void Code::set_is_crankshafted(bool value) { | 
|  | 
| int Code::major_key() { | 
| ASSERT(kind() == STUB || | 
| +         kind() == UNARY_OP_IC || | 
| kind() == BINARY_OP_IC || | 
| kind() == COMPARE_IC || | 
| kind() == COMPARE_NIL_IC || | 
| @@ -3836,6 +3831,7 @@ int Code::major_key() { | 
|  | 
| void Code::set_major_key(int major) { | 
| ASSERT(kind() == STUB || | 
| +         kind() == UNARY_OP_IC || | 
| kind() == BINARY_OP_IC || | 
| kind() == COMPARE_IC || | 
| kind() == COMPARE_NIL_IC || | 
| @@ -4025,6 +4021,21 @@ void Code::set_check_type(CheckType value) { | 
| } | 
|  | 
|  | 
| +byte Code::unary_op_type() { | 
| +  ASSERT(is_unary_op_stub()); | 
| +  return UnaryOpTypeField::decode( | 
| +      READ_UINT32_FIELD(this, kKindSpecificFlags1Offset)); | 
| +} | 
| + | 
| + | 
| +void Code::set_unary_op_type(byte value) { | 
| +  ASSERT(is_unary_op_stub()); | 
| +  int previous = READ_UINT32_FIELD(this, kKindSpecificFlags1Offset); | 
| +  int updated = UnaryOpTypeField::update(previous, value); | 
| +  WRITE_UINT32_FIELD(this, kKindSpecificFlags1Offset, updated); | 
| +} | 
| + | 
| + | 
| byte Code::to_boolean_state() { | 
| return extended_extra_ic_state(); | 
| } | 
| @@ -4209,20 +4220,7 @@ void Map::InitializeDescriptors(DescriptorArray* descriptors) { | 
|  | 
|  | 
| ACCESSORS(Map, instance_descriptors, DescriptorArray, kDescriptorsOffset) | 
| - | 
| - | 
| -void Map::set_bit_field3(uint32_t bits) { | 
| -  // Ensure the upper 2 bits have the same value by sign extending it. This is | 
| -  // necessary to be able to use the 31st bit. | 
| -  int value = bits << 1; | 
| -  WRITE_FIELD(this, kBitField3Offset, Smi::FromInt(value >> 1)); | 
| -} | 
| - | 
| - | 
| -uint32_t Map::bit_field3() { | 
| -  Object* value = READ_FIELD(this, kBitField3Offset); | 
| -  return Smi::cast(value)->value(); | 
| -} | 
| +SMI_ACCESSORS(Map, bit_field3, kBitField3Offset) | 
|  | 
|  | 
| void Map::ClearTransitions(Heap* heap, WriteBarrierMode mode) { | 
|  |