1433 // there. If you're lucky you'll get the assert in the bugid, if not you've |
1433 // there. If you're lucky you'll get the assert in the bugid, if not you've |
1434 // just made a call site that could be megamorphic into a monomorphic site |
1434 // just made a call site that could be megamorphic into a monomorphic site |
1435 // for the rest of its life! Just another racing bug in the life of |
1435 // for the rest of its life! Just another racing bug in the life of |
1436 // fixup_callers_callsite ... |
1436 // fixup_callers_callsite ... |
1437 // |
1437 // |
1438 RelocIterator iter(cb, call->instruction_address(), call->next_instruction_address()); |
1438 RelocIterator iter(nm, call->instruction_address(), call->next_instruction_address()); |
1439 iter.next(); |
1439 iter.next(); |
1440 assert(iter.has_current(), "must have a reloc at java call site"); |
1440 assert(iter.has_current(), "must have a reloc at java call site"); |
1441 relocInfo::relocType typ = iter.reloc()->type(); |
1441 relocInfo::relocType typ = iter.reloc()->type(); |
1442 if ( typ != relocInfo::static_call_type && |
1442 if ( typ != relocInfo::static_call_type && |
1443 typ != relocInfo::opt_virtual_call_type && |
1443 typ != relocInfo::opt_virtual_call_type && |
2053 AdapterHandlerEntry* _current; |
2053 AdapterHandlerEntry* _current; |
2054 |
2054 |
2055 void scan() { |
2055 void scan() { |
2056 while (_index < _table->table_size()) { |
2056 while (_index < _table->table_size()) { |
2057 AdapterHandlerEntry* a = _table->bucket(_index); |
2057 AdapterHandlerEntry* a = _table->bucket(_index); |
|
2058 _index++; |
2058 if (a != NULL) { |
2059 if (a != NULL) { |
2059 _current = a; |
2060 _current = a; |
2060 return; |
2061 return; |
2061 } |
2062 } |
2062 _index++; |
|
2063 } |
2063 } |
2064 } |
2064 } |
2065 |
2065 |
2066 public: |
2066 public: |
2067 AdapterHandlerTableIterator(AdapterHandlerTable* table): _table(table), _index(0), _current(NULL) { |
2067 AdapterHandlerTableIterator(AdapterHandlerTable* table): _table(table), _index(0), _current(NULL) { |