| Index: src/objects.h | 
| diff --git a/src/objects.h b/src/objects.h | 
| index 50018bfb70e0f1ccc59858ae611a5b12f1f7b544..ea382423e0954b42d684fa23aec37c3feb22fdb6 100644 | 
| --- a/src/objects.h | 
| +++ b/src/objects.h | 
| @@ -4265,8 +4265,12 @@ class Code: public HeapObject { | 
| DECL_ACCESSORS(deoptimization_data, FixedArray) | 
|  | 
| // [type_feedback_info]: Struct containing type feedback information. | 
| -  // Will contain either a TypeFeedbackInfo object, or undefined. | 
| +  // STUBs can use this slot to store arbitrary information as a Smi. | 
| +  // Will contain either a TypeFeedbackInfo object, or undefined, or a Smi. | 
| DECL_ACCESSORS(type_feedback_info, Object) | 
| +  inline void InitializeTypeFeedbackInfoNoWriteBarrier(Object* value); | 
| +  inline int stub_info(); | 
| +  inline void set_stub_info(int info); | 
|  | 
| // [gc_metadata]: Field used to hold GC related metadata. The contents of this | 
| // field does not have to be traced during garbage collection since | 
| @@ -4372,21 +4376,6 @@ class Code: public HeapObject { | 
| inline byte unary_op_type(); | 
| inline void set_unary_op_type(byte value); | 
|  | 
| -  // [type-recording binary op type]: For kind BINARY_OP_IC. | 
| -  inline byte binary_op_type(); | 
| -  inline void set_binary_op_type(byte value); | 
| -  inline byte binary_op_result_type(); | 
| -  inline void set_binary_op_result_type(byte value); | 
| - | 
| -  // [compare state]: For kind COMPARE_IC, tells what state the stub is in. | 
| -  inline byte compare_state(); | 
| -  inline void set_compare_state(byte value); | 
| - | 
| -  // [compare_operation]: For kind COMPARE_IC tells what compare operation the | 
| -  // stub was generated for. | 
| -  inline byte compare_operation(); | 
| -  inline void set_compare_operation(byte value); | 
| - | 
| // [to_boolean_foo]: For kind TO_BOOLEAN_IC tells what state the stub is in. | 
| inline byte to_boolean_state(); | 
| inline void set_to_boolean_state(byte value); | 
| @@ -4579,18 +4568,6 @@ class Code: public HeapObject { | 
| static const int kUnaryOpTypeFirstBit = | 
| kStackSlotsFirstBit + kStackSlotsBitCount; | 
| static const int kUnaryOpTypeBitCount = 3; | 
| -  static const int kBinaryOpTypeFirstBit = | 
| -      kStackSlotsFirstBit + kStackSlotsBitCount; | 
| -  static const int kBinaryOpTypeBitCount = 3; | 
| -  static const int kBinaryOpResultTypeFirstBit = | 
| -      kBinaryOpTypeFirstBit + kBinaryOpTypeBitCount; | 
| -  static const int kBinaryOpResultTypeBitCount = 3; | 
| -  static const int kCompareStateFirstBit = | 
| -      kStackSlotsFirstBit + kStackSlotsBitCount; | 
| -  static const int kCompareStateBitCount = 3; | 
| -  static const int kCompareOperationFirstBit = | 
| -      kCompareStateFirstBit + kCompareStateBitCount; | 
| -  static const int kCompareOperationBitCount = 4; | 
| static const int kToBooleanStateFirstBit = | 
| kStackSlotsFirstBit + kStackSlotsBitCount; | 
| static const int kToBooleanStateBitCount = 8; | 
| @@ -4600,11 +4577,6 @@ class Code: public HeapObject { | 
|  | 
| STATIC_ASSERT(kStackSlotsFirstBit + kStackSlotsBitCount <= 32); | 
| STATIC_ASSERT(kUnaryOpTypeFirstBit + kUnaryOpTypeBitCount <= 32); | 
| -  STATIC_ASSERT(kBinaryOpTypeFirstBit + kBinaryOpTypeBitCount <= 32); | 
| -  STATIC_ASSERT(kBinaryOpResultTypeFirstBit + | 
| -                kBinaryOpResultTypeBitCount <= 32); | 
| -  STATIC_ASSERT(kCompareStateFirstBit + kCompareStateBitCount <= 32); | 
| -  STATIC_ASSERT(kCompareOperationFirstBit + kCompareOperationBitCount <= 32); | 
| STATIC_ASSERT(kToBooleanStateFirstBit + kToBooleanStateBitCount <= 32); | 
| STATIC_ASSERT(kHasFunctionCacheFirstBit + kHasFunctionCacheBitCount <= 32); | 
|  | 
| @@ -4612,14 +4584,6 @@ class Code: public HeapObject { | 
| kStackSlotsFirstBit, kStackSlotsBitCount> {};  // NOLINT | 
| class UnaryOpTypeField: public BitField<int, | 
| kUnaryOpTypeFirstBit, kUnaryOpTypeBitCount> {};  // NOLINT | 
| -  class BinaryOpTypeField: public BitField<int, | 
| -      kBinaryOpTypeFirstBit, kBinaryOpTypeBitCount> {};  // NOLINT | 
| -  class BinaryOpResultTypeField: public BitField<int, | 
| -      kBinaryOpResultTypeFirstBit, kBinaryOpResultTypeBitCount> {};  // NOLINT | 
| -  class CompareStateField: public BitField<int, | 
| -      kCompareStateFirstBit, kCompareStateBitCount> {};  // NOLINT | 
| -  class CompareOperationField: public BitField<int, | 
| -      kCompareOperationFirstBit, kCompareOperationBitCount> {};  // NOLINT | 
| class ToBooleanStateField: public BitField<int, | 
| kToBooleanStateFirstBit, kToBooleanStateBitCount> {};  // NOLINT | 
| class HasFunctionCacheField: public BitField<bool, | 
|  |