| Index: src/code-stubs.cc
 | 
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
 | 
| index 9a985f35286eb83edbc0a89fb432775b9a48044d..9a8e4f91912d24c35ac5795055ac24a6335575e6 100644
 | 
| --- a/src/code-stubs.cc
 | 
| +++ b/src/code-stubs.cc
 | 
| @@ -25,9 +25,9 @@ RUNTIME_FUNCTION(UnexpectedStubMiss) {
 | 
|    return Smi::FromInt(0);
 | 
|  }
 | 
|  
 | 
| -
 | 
|  CodeStubDescriptor::CodeStubDescriptor(CodeStub* stub)
 | 
| -    : call_descriptor_(stub->GetCallInterfaceDescriptor()),
 | 
| +    : isolate_(stub->isolate()),
 | 
| +      call_descriptor_(stub->GetCallInterfaceDescriptor()),
 | 
|        stack_parameter_count_(no_reg),
 | 
|        hint_stack_parameter_count_(-1),
 | 
|        function_mode_(NOT_JS_FUNCTION_STUB_MODE),
 | 
| @@ -37,9 +37,9 @@ CodeStubDescriptor::CodeStubDescriptor(CodeStub* stub)
 | 
|    stub->InitializeDescriptor(this);
 | 
|  }
 | 
|  
 | 
| -
 | 
|  CodeStubDescriptor::CodeStubDescriptor(Isolate* isolate, uint32_t stub_key)
 | 
| -    : stack_parameter_count_(no_reg),
 | 
| +    : isolate_(isolate),
 | 
| +      stack_parameter_count_(no_reg),
 | 
|        hint_stack_parameter_count_(-1),
 | 
|        function_mode_(NOT_JS_FUNCTION_STUB_MODE),
 | 
|        deoptimization_handler_(NULL),
 | 
| @@ -270,6 +270,7 @@ MaybeHandle<Code> CodeStub::GetCode(Isolate* isolate, uint32_t key) {
 | 
|  
 | 
|  // static
 | 
|  void BinaryOpICStub::GenerateAheadOfTime(Isolate* isolate) {
 | 
| +  if (FLAG_minimal) return;
 | 
|    // Generate the uninitialized versions of the stub.
 | 
|    for (int op = Token::BIT_OR; op <= Token::MOD; ++op) {
 | 
|      BinaryOpICStub stub(isolate, static_cast<Token::Value>(op));
 | 
| @@ -289,6 +290,7 @@ void BinaryOpICStub::PrintState(std::ostream& os) const {  // NOLINT
 | 
|  // static
 | 
|  void BinaryOpICStub::GenerateAheadOfTime(Isolate* isolate,
 | 
|                                           const BinaryOpICState& state) {
 | 
| +  if (FLAG_minimal) return;
 | 
|    BinaryOpICStub stub(isolate, state);
 | 
|    stub.GetCode();
 | 
|  }
 | 
| @@ -4090,6 +4092,7 @@ void ElementsTransitionAndStoreStub::InitializeDescriptor(
 | 
|  
 | 
|  void ToObjectStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
 | 
|    descriptor->Initialize(Runtime::FunctionForId(Runtime::kToObject)->entry);
 | 
| +  descriptor->SetMissHandler(Runtime::kToObject);
 | 
|  }
 | 
|  
 | 
|  void StoreTransitionStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
 | 
| @@ -4097,11 +4100,14 @@ void StoreTransitionStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
 | 
|        FUNCTION_ADDR(Runtime_TransitionStoreIC_MissFromStubFailure));
 | 
|  }
 | 
|  
 | 
| -void TypeofStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {}
 | 
| +void TypeofStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
 | 
| +  descriptor->SetMissHandler(Runtime::kTypeof);
 | 
| +}
 | 
|  
 | 
|  void NumberToStringStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
 | 
|    descriptor->Initialize(
 | 
|        Runtime::FunctionForId(Runtime::kNumberToString)->entry);
 | 
| +  descriptor->SetMissHandler(Runtime::kNumberToString);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -4109,6 +4115,7 @@ void FastCloneRegExpStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
 | 
|    FastCloneRegExpDescriptor call_descriptor(isolate());
 | 
|    descriptor->Initialize(
 | 
|        Runtime::FunctionForId(Runtime::kCreateRegExpLiteral)->entry);
 | 
| +  descriptor->SetMissHandler(Runtime::kCreateRegExpLiteral);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -4117,13 +4124,14 @@ void FastCloneShallowArrayStub::InitializeDescriptor(
 | 
|    FastCloneShallowArrayDescriptor call_descriptor(isolate());
 | 
|    descriptor->Initialize(
 | 
|        Runtime::FunctionForId(Runtime::kCreateArrayLiteralStubBailout)->entry);
 | 
| +  descriptor->SetMissHandler(Runtime::kCreateArrayLiteralStubBailout);
 | 
|  }
 | 
|  
 | 
| -
 | 
|  void RegExpConstructResultStub::InitializeDescriptor(
 | 
|      CodeStubDescriptor* descriptor) {
 | 
|    descriptor->Initialize(
 | 
|        Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry);
 | 
| +  descriptor->SetMissHandler(Runtime::kRegExpConstructResult);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -4152,15 +4160,13 @@ SIMD128_TYPES(SIMD128_INIT_DESC)
 | 
|  
 | 
|  void ToBooleanICStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
 | 
|    descriptor->Initialize(FUNCTION_ADDR(Runtime_ToBooleanIC_Miss));
 | 
| -  descriptor->SetMissHandler(ExternalReference(
 | 
| -      Runtime::FunctionForId(Runtime::kToBooleanIC_Miss), isolate()));
 | 
| +  descriptor->SetMissHandler(Runtime::kToBooleanIC_Miss);
 | 
|  }
 | 
|  
 | 
|  
 | 
|  void BinaryOpICStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
 | 
|    descriptor->Initialize(FUNCTION_ADDR(Runtime_BinaryOpIC_Miss));
 | 
| -  descriptor->SetMissHandler(ExternalReference(
 | 
| -      Runtime::FunctionForId(Runtime::kBinaryOpIC_Miss), isolate()));
 | 
| +  descriptor->SetMissHandler(Runtime::kBinaryOpIC_Miss);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -4173,6 +4179,7 @@ void BinaryOpWithAllocationSiteStub::InitializeDescriptor(
 | 
|  
 | 
|  void StringAddStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
 | 
|    descriptor->Initialize(Runtime::FunctionForId(Runtime::kStringAdd)->entry);
 | 
| +  descriptor->SetMissHandler(Runtime::kStringAdd);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -4575,6 +4582,7 @@ void StoreElementStub::Generate(MacroAssembler* masm) {
 | 
|  
 | 
|  // static
 | 
|  void StoreFastElementStub::GenerateAheadOfTime(Isolate* isolate) {
 | 
| +  if (FLAG_minimal) return;
 | 
|    StoreFastElementStub(isolate, false, FAST_HOLEY_ELEMENTS, STANDARD_STORE)
 | 
|        .GetCode();
 | 
|    StoreFastElementStub(isolate, false, FAST_HOLEY_ELEMENTS,
 | 
| 
 |