| Index: runtime/vm/code_generator.cc
|
| ===================================================================
|
| --- runtime/vm/code_generator.cc (revision 8852)
|
| +++ runtime/vm/code_generator.cc (working copy)
|
| @@ -941,12 +941,12 @@
|
| CodePatcher::GetInstanceCallIcDataAt(caller_frame->pc()));
|
| #if defined(DEBUG)
|
| for (intptr_t i = 0; i < ic_data.NumberOfChecks(); i++) {
|
| - GrowableArray<const Class*> classes;
|
| + GrowableArray<intptr_t> class_ids;
|
| Function& target = Function::Handle();
|
| - ic_data.GetCheckAt(i, &classes, &target);
|
| + ic_data.GetCheckAt(i, &class_ids, &target);
|
| bool matches = true;
|
| - for (intptr_t k = 0; k < classes.length(); k++) {
|
| - if (classes[k]->raw() != args[k]->clazz()) {
|
| + for (intptr_t k = 0; k < class_ids.length(); k++) {
|
| + if (class_ids[k] != Class::Handle(args[k]->clazz()).id()) {
|
| matches = false;
|
| break;
|
| }
|
| @@ -956,17 +956,19 @@
|
| }
|
| #endif // DEBUG
|
|
|
| - GrowableArray<const Class*> classes;
|
| + GrowableArray<intptr_t> class_ids;
|
| ASSERT(ic_data.num_args_tested() == args.length());
|
| for (intptr_t i = 0; i < args.length(); i++) {
|
| - classes.Add(&Class::ZoneHandle(args[i]->clazz()));
|
| + class_ids.Add(Class::Handle(args[i]->clazz()).id());
|
| }
|
| - ic_data.AddCheck(classes, target_function);
|
| + ic_data.AddCheck(class_ids, target_function);
|
| if (FLAG_trace_ic) {
|
| - OS::Print("InlineCacheMissHandler %d call at 0x%x' adding <%s> -> <%s>\n",
|
| + OS::Print("InlineCacheMissHandler %d call at 0x%x' "
|
| + "adding <%s> id:%d -> <%s>\n",
|
| args.length(),
|
| caller_frame->pc(),
|
| Class::Handle(receiver.clazz()).ToCString(),
|
| + Class::Handle(receiver.clazz()).id(),
|
| target_function.ToCString());
|
| }
|
| return target_function.raw();
|
|
|