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