| 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) {
 | 
| 
 |