< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeap.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 26,38 ****
--- 26,41 ----
import java.io.*;
import java.util.*;
import sun.jvm.hotspot.debugger.*;
+ import sun.jvm.hotspot.gc.shared.*;
import sun.jvm.hotspot.memory.*;
import sun.jvm.hotspot.runtime.*;
import sun.jvm.hotspot.types.*;
+ import sun.jvm.hotspot.utilities.BitMapInterface;
+ import sun.jvm.hotspot.utilities.BitMapSegmented;
public abstract class CollectedHeap extends VMObject {
private static long reservedFieldOffset;
static {
*** 56,67 ****
/** Returns the lowest address of the heap. */
public Address start() {
return reservedRegion().start();
}
! public long capacity() { return 0; }
! public long used() { return 0; }
public MemRegion reservedRegion() {
return new MemRegion(addr.addOffsetTo(reservedFieldOffset));
}
--- 59,70 ----
/** Returns the lowest address of the heap. */
public Address start() {
return reservedRegion().start();
}
! public abstract long capacity();
! public abstract long used();
public MemRegion reservedRegion() {
return new MemRegion(addr.addOffsetTo(reservedFieldOffset));
}
*** 73,92 ****
--- 76,105 ----
return reservedRegion().contains(a);
}
public abstract CollectedHeapName kind();
+ public abstract void liveRegionsIterate(LiveRegionsClosure closure);
+
public String oopAddressDescription(OopHandle handle) {
return handle.toString();
}
public OopHandle oop_load_at(OopHandle handle, long offset) {
return handle.getOopHandleAt(offset);
}
+ public OopHandle oop_load_in_native(Address addr) {
+ return addr.getOopHandleAt(0);
+ }
+
public void print() { printOn(System.out); }
public void printOn(PrintStream tty) {
MemRegion mr = reservedRegion();
tty.println("unknown subtype of CollectedHeap @ " + getAddress() + " (" +
mr.start() + "," + mr.end() + ")");
}
+
+ public BitMapInterface createBitMap(long bits) {
+ return new BitMapSegmented(bits);
+ }
}
< prev index next >