| Index: src/ic/ic.cc
|
| diff --git a/src/ic/ic.cc b/src/ic/ic.cc
|
| index e8b2dbf9c98796d02a0e768466c4ab643d68d3dd..433041d908bddd50db8f5e655735a92a9223f399 100644
|
| --- a/src/ic/ic.cc
|
| +++ b/src/ic/ic.cc
|
| @@ -990,11 +990,14 @@ Handle<Code> LoadIC::initialize_stub(Isolate* isolate,
|
|
|
|
|
| Handle<Code> LoadIC::initialize_stub_in_optimized_code(
|
| - Isolate* isolate, ExtraICState extra_state) {
|
| + Isolate* isolate, ExtraICState extra_state, State initialization_state) {
|
| + DCHECK(initialization_state == UNINITIALIZED ||
|
| + initialization_state == MEGAMORPHIC);
|
| if (FLAG_vector_ics) {
|
| return VectorLoadStub(isolate, LoadICState(extra_state)).GetCode();
|
| }
|
| - return initialize_stub(isolate, extra_state);
|
| + return PropertyICCompiler::ComputeLoad(isolate, initialization_state,
|
| + extra_state);
|
| }
|
|
|
|
|
| @@ -1615,10 +1618,13 @@ Handle<Code> CallIC::initialize_stub_in_optimized_code(
|
|
|
|
|
| Handle<Code> StoreIC::initialize_stub(Isolate* isolate,
|
| - LanguageMode language_mode) {
|
| + LanguageMode language_mode,
|
| + State initialization_state) {
|
| + DCHECK(initialization_state == UNINITIALIZED ||
|
| + initialization_state == MEGAMORPHIC);
|
| ExtraICState extra_state = ComputeExtraICState(language_mode);
|
| - Handle<Code> ic =
|
| - PropertyICCompiler::ComputeStore(isolate, UNINITIALIZED, extra_state);
|
| + Handle<Code> ic = PropertyICCompiler::ComputeStore(
|
| + isolate, initialization_state, extra_state);
|
| return ic;
|
| }
|
|
|
|
|