equal
deleted
inserted
replaced
320 } |
320 } |
321 |
321 |
322 |
322 |
323 bool ExceptionCache::add_address_and_handler(address addr, address handler) { |
323 bool ExceptionCache::add_address_and_handler(address addr, address handler) { |
324 if (test_address(addr) == handler) return true; |
324 if (test_address(addr) == handler) return true; |
325 if (count() < cache_size) { |
325 |
326 set_pc_at(count(),addr); |
326 int index = count(); |
327 set_handler_at(count(), handler); |
327 if (index < cache_size) { |
|
328 set_pc_at(index, addr); |
|
329 set_handler_at(index, handler); |
|
330 OrderAccess::storestore(); |
328 increment_count(); |
331 increment_count(); |
329 return true; |
332 return true; |
330 } |
333 } |
331 return false; |
334 return false; |
332 } |
335 } |