< prev index next >

src/hotspot/share/interpreter/oopMapCache.cpp

Print this page

581   _old_entries = NULL;
582   while (entry != NULL) {
583     if (log_is_enabled(Debug, interpreter, oopmap)) {
584       ResourceMark rm;
585       log_debug(interpreter, oopmap)("cleanup entry %s at bci %d",
586                           entry->method()->name_and_sig_as_C_string(), entry->bci());
587     }
588     OopMapCacheEntry* next = entry->_next;
589     entry->flush();
590     FREE_C_HEAP_OBJ(entry);
591     entry = next;
592   }
593 }
594 
595 void OopMapCache::compute_one_oop_map(const methodHandle& method, int bci, InterpreterOopMap* entry) {
596   // Due to the invariants above it's tricky to allocate a temporary OopMapCacheEntry on the stack
597   OopMapCacheEntry* tmp = NEW_C_HEAP_OBJ(OopMapCacheEntry, mtClass);
598   tmp->initialize();
599   tmp->fill(method, bci);
600   entry->resource_copy(tmp);
601   FREE_C_HEAP_ARRAY(OopMapCacheEntry, tmp);
602 }

581   _old_entries = NULL;
582   while (entry != NULL) {
583     if (log_is_enabled(Debug, interpreter, oopmap)) {
584       ResourceMark rm;
585       log_debug(interpreter, oopmap)("cleanup entry %s at bci %d",
586                           entry->method()->name_and_sig_as_C_string(), entry->bci());
587     }
588     OopMapCacheEntry* next = entry->_next;
589     entry->flush();
590     FREE_C_HEAP_OBJ(entry);
591     entry = next;
592   }
593 }
594 
595 void OopMapCache::compute_one_oop_map(const methodHandle& method, int bci, InterpreterOopMap* entry) {
596   // Due to the invariants above it's tricky to allocate a temporary OopMapCacheEntry on the stack
597   OopMapCacheEntry* tmp = NEW_C_HEAP_OBJ(OopMapCacheEntry, mtClass);
598   tmp->initialize();
599   tmp->fill(method, bci);
600   entry->resource_copy(tmp);
601   FREE_C_HEAP_OBJ(tmp);
602 }
< prev index next >