467 // (extended == true).
468 static void print_on(outputStream* st, bool extended = false);
469 static void print_heap_at_SIGBREAK();
470 static void print_heap_before_gc() { print_heap_before_gc(gclog_or_tty); }
471 static void print_heap_after_gc() { print_heap_after_gc(gclog_or_tty); }
472 static void print_heap_before_gc(outputStream* st, bool ignore_extended = false);
473 static void print_heap_after_gc(outputStream* st, bool ignore_extended = false);
474
475 // Change the number of dummy objects kept reachable by the full gc dummy
476 // array; this should trigger relocation in a sliding compaction collector.
477 debug_only(static bool release_fullgc_alot_dummy();)
478 // The non-oop pattern (see compiledIC.hpp, etc)
479 static void* non_oop_word();
480
481 // Oop verification (see MacroAssembler::verify_oop)
482 static uintptr_t verify_oop_mask() PRODUCT_RETURN0;
483 static uintptr_t verify_oop_bits() PRODUCT_RETURN0;
484 static uintptr_t verify_mark_bits() PRODUCT_RETURN0;
485 static uintptr_t verify_mark_mask() PRODUCT_RETURN0;
486
487 // Flushing and deoptimization
488 static void flush_dependents_on(instanceKlassHandle dependee);
489 static void flush_dependents_on(Handle call_site, Handle method_handle);
490 #ifdef HOTSWAP
491 // Flushing and deoptimization in case of evolution
492 static void flush_evol_dependents_on(instanceKlassHandle dependee);
493 #endif // HOTSWAP
494 // Support for fullspeed debugging
495 static void flush_dependents_on_method(methodHandle dependee);
496
497 // Compiler support
498 static int base_vtable_size() { return _base_vtable_size; }
499 };
500
501 class DeferredObjAllocEvent : public CHeapObj<mtInternal> {
502 private:
503 oop _oop;
504 size_t _bytesize;
505 jint _arena_id;
506
507 public:
508 DeferredObjAllocEvent(const oop o, const size_t s, const jint id) {
509 _oop = o;
510 _bytesize = s;
511 _arena_id = id;
512 }
513
514 ~DeferredObjAllocEvent() {
515 }
516
|
467 // (extended == true).
468 static void print_on(outputStream* st, bool extended = false);
469 static void print_heap_at_SIGBREAK();
470 static void print_heap_before_gc() { print_heap_before_gc(gclog_or_tty); }
471 static void print_heap_after_gc() { print_heap_after_gc(gclog_or_tty); }
472 static void print_heap_before_gc(outputStream* st, bool ignore_extended = false);
473 static void print_heap_after_gc(outputStream* st, bool ignore_extended = false);
474
475 // Change the number of dummy objects kept reachable by the full gc dummy
476 // array; this should trigger relocation in a sliding compaction collector.
477 debug_only(static bool release_fullgc_alot_dummy();)
478 // The non-oop pattern (see compiledIC.hpp, etc)
479 static void* non_oop_word();
480
481 // Oop verification (see MacroAssembler::verify_oop)
482 static uintptr_t verify_oop_mask() PRODUCT_RETURN0;
483 static uintptr_t verify_oop_bits() PRODUCT_RETURN0;
484 static uintptr_t verify_mark_bits() PRODUCT_RETURN0;
485 static uintptr_t verify_mark_mask() PRODUCT_RETURN0;
486
487 // Compiler support
488 static int base_vtable_size() { return _base_vtable_size; }
489 };
490
491 class DeferredObjAllocEvent : public CHeapObj<mtInternal> {
492 private:
493 oop _oop;
494 size_t _bytesize;
495 jint _arena_id;
496
497 public:
498 DeferredObjAllocEvent(const oop o, const size_t s, const jint id) {
499 _oop = o;
500 _bytesize = s;
501 _arena_id = id;
502 }
503
504 ~DeferredObjAllocEvent() {
505 }
506
|