hotspot/src/share/vm/oops/klassVtable.cpp
changeset 360 21d113ecbf6a
parent 189 4248c8e21063
child 670 ddf3e9583f2f
equal deleted inserted replaced
357:f4edb0d9f109 360:21d113ecbf6a
  1116 
  1116 
  1117   // Fill-out offset table
  1117   // Fill-out offset table
  1118   itableOffsetEntry* ioe = (itableOffsetEntry*)klass->start_of_itable();
  1118   itableOffsetEntry* ioe = (itableOffsetEntry*)klass->start_of_itable();
  1119   itableMethodEntry* ime = (itableMethodEntry*)(ioe + nof_interfaces);
  1119   itableMethodEntry* ime = (itableMethodEntry*)(ioe + nof_interfaces);
  1120   intptr_t* end               = klass->end_of_itable();
  1120   intptr_t* end               = klass->end_of_itable();
  1121   assert((oop*)(ime + nof_methods) <= klass->start_of_static_fields(), "wrong offset calculation (1)");
  1121   assert((oop*)(ime + nof_methods) <= (oop*)klass->start_of_static_fields(), "wrong offset calculation (1)");
  1122   assert((oop*)(end) == (oop*)(ime + nof_methods),                     "wrong offset calculation (2)");
  1122   assert((oop*)(end) == (oop*)(ime + nof_methods),                      "wrong offset calculation (2)");
  1123 
  1123 
  1124   // Visit all interfaces and initialize itable offset table
  1124   // Visit all interfaces and initialize itable offset table
  1125   SetupItableClosure sic((address)klass->as_klassOop(), ioe, ime);
  1125   SetupItableClosure sic((address)klass->as_klassOop(), ioe, ime);
  1126   visit_all_interfaces(klass->transitive_interfaces(), &sic);
  1126   visit_all_interfaces(klass->transitive_interfaces(), &sic);
  1127 
  1127