| Index: src/objects-inl.h
 | 
| diff --git a/src/objects-inl.h b/src/objects-inl.h
 | 
| index 77b4e3816cd064e3004cedf13f244580c912a5b6..f3d4d1c4450d841b8428d73d32d173ba6bbf92a3 100644
 | 
| --- a/src/objects-inl.h
 | 
| +++ b/src/objects-inl.h
 | 
| @@ -5052,6 +5052,7 @@ void JSFunction::ReplaceCode(Code* code) {
 | 
|      context()->native_context()->AddOptimizedFunction(this);
 | 
|    }
 | 
|    if (was_optimized && !is_optimized) {
 | 
| +    // TODO(titzer): linear in the number of optimized functions; fix!
 | 
|      context()->native_context()->RemoveOptimizedFunction(this);
 | 
|    }
 | 
|  }
 | 
| @@ -5314,6 +5315,20 @@ void Code::set_type_feedback_info(Object* value, WriteBarrierMode mode) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +Object* Code::next_code_link() {
 | 
| +  CHECK(kind() == OPTIMIZED_FUNCTION);
 | 
| +  return Object::cast(READ_FIELD(this, kTypeFeedbackInfoOffset));
 | 
| +}
 | 
| +
 | 
| +
 | 
| +void Code::set_next_code_link(Object* value, WriteBarrierMode mode) {
 | 
| +  CHECK(kind() == OPTIMIZED_FUNCTION);
 | 
| +  WRITE_FIELD(this, kTypeFeedbackInfoOffset, value);
 | 
| +  CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kTypeFeedbackInfoOffset,
 | 
| +                            value, mode);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  int Code::stub_info() {
 | 
|    ASSERT(kind() == COMPARE_IC || kind() == COMPARE_NIL_IC ||
 | 
|           kind() == BINARY_OP_IC || kind() == LOAD_IC);
 | 
| @@ -5335,25 +5350,6 @@ void Code::set_stub_info(int value) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| -Object* Code::code_to_deoptimize_link() {
 | 
| -  // Optimized code should not have type feedback.
 | 
| -  ASSERT(kind() == OPTIMIZED_FUNCTION);
 | 
| -  return READ_FIELD(this, kTypeFeedbackInfoOffset);
 | 
| -}
 | 
| -
 | 
| -
 | 
| -void Code::set_code_to_deoptimize_link(Object* value) {
 | 
| -  ASSERT(kind() == OPTIMIZED_FUNCTION);
 | 
| -  WRITE_FIELD(this, kTypeFeedbackInfoOffset, value);
 | 
| -}
 | 
| -
 | 
| -
 | 
| -Object** Code::code_to_deoptimize_link_slot() {
 | 
| -  ASSERT(kind() == OPTIMIZED_FUNCTION);
 | 
| -  return HeapObject::RawField(this, kTypeFeedbackInfoOffset);
 | 
| -}
 | 
| -
 | 
| -
 | 
|  ACCESSORS(Code, gc_metadata, Object, kGCMetadataOffset)
 | 
|  INT_ACCESSORS(Code, ic_age, kICAgeOffset)
 | 
|  
 | 
| 
 |