src/share/vm/oops/klassVtable.cpp

changeset 2658
c7f3d0b4570f
parent 2616
dbad0519a1c4
child 2777
8ce625481709
equal deleted inserted replaced
2657:d673ef06fe96 2658:c7f3d0b4570f
1093 1093
1094 // Fill-out offset table 1094 // Fill-out offset table
1095 itableOffsetEntry* ioe = (itableOffsetEntry*)klass->start_of_itable(); 1095 itableOffsetEntry* ioe = (itableOffsetEntry*)klass->start_of_itable();
1096 itableMethodEntry* ime = (itableMethodEntry*)(ioe + nof_interfaces); 1096 itableMethodEntry* ime = (itableMethodEntry*)(ioe + nof_interfaces);
1097 intptr_t* end = klass->end_of_itable(); 1097 intptr_t* end = klass->end_of_itable();
1098 assert((oop*)(ime + nof_methods) <= (oop*)klass->start_of_static_fields(), "wrong offset calculation (1)"); 1098 assert((oop*)(ime + nof_methods) <= (oop*)klass->start_of_nonstatic_oop_maps(), "wrong offset calculation (1)");
1099 assert((oop*)(end) == (oop*)(ime + nof_methods), "wrong offset calculation (2)"); 1099 assert((oop*)(end) == (oop*)(ime + nof_methods), "wrong offset calculation (2)");
1100 1100
1101 // Visit all interfaces and initialize itable offset table 1101 // Visit all interfaces and initialize itable offset table
1102 SetupItableClosure sic((address)klass->as_klassOop(), ioe, ime); 1102 SetupItableClosure sic((address)klass->as_klassOop(), ioe, ime);
1103 visit_all_interfaces(klass->transitive_interfaces(), &sic); 1103 visit_all_interfaces(klass->transitive_interfaces(), &sic);

mercurial