diff options
author | kvn <none@none> | 2013-12-12 11:05:39 -0800 |
---|---|---|
committer | kvn <none@none> | 2013-12-12 11:05:39 -0800 |
commit | b3590a6bb7bebb81127e483aaa6380472e64e380 (patch) | |
tree | a510ece5335f94d53fad2e3f6787df6c02517df6 /agent | |
parent | b657721dea484cedd6c7399c16aae2aceb30f4eb (diff) | |
parent | 859997d4af699a573ba5fffe61bcb38b3e911a0f (diff) | |
download | jdk8u_hotspot-b3590a6bb7bebb81127e483aaa6380472e64e380.tar.gz |
Merge
Diffstat (limited to 'agent')
3 files changed, 19 insertions, 12 deletions
diff --git a/agent/make/jsdbproc64.sh b/agent/make/jsdbproc64.sh index 9f8007e3d..ac7d9c3b6 100644 --- a/agent/make/jsdbproc64.sh +++ b/agent/make/jsdbproc64.sh @@ -1,7 +1,7 @@ -#!/bin/sh
+#!/bin/sh # -# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2013, 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 @@ -21,10 +21,10 @@ # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # or visit www.oracle.com if you need additional information or have any # questions. -# # +# + + +. `dirname $0`/saenv64.sh -
-. `dirname $0`/saenv64.sh
-
-$SA_JAVA_CMD sun.jvm.hotspot.tools.JSDB $*
+$SA_JAVA_CMD sun.jvm.hotspot.tools.soql.JSDB $* diff --git a/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1HeapRegionTable.java b/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1HeapRegionTable.java index 11657ce31..cfbea4043 100644 --- a/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1HeapRegionTable.java +++ b/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1HeapRegionTable.java @@ -103,14 +103,14 @@ public class G1HeapRegionTable extends VMObject { @Override public void remove() { /* not supported */ } - HeapRegionIterator(Address addr) { + HeapRegionIterator(long committedLength) { index = 0; - length = length(); + length = committedLength; } } - public Iterator<HeapRegion> heapRegionIterator() { - return new HeapRegionIterator(addr); + public Iterator<HeapRegion> heapRegionIterator(long committedLength) { + return new HeapRegionIterator(committedLength); } public G1HeapRegionTable(Address addr) { diff --git a/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java b/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java index f8b47abed..190bf56a1 100644 --- a/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java +++ b/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java @@ -42,6 +42,8 @@ import sun.jvm.hotspot.types.TypeDataBase; public class HeapRegionSeq extends VMObject { // G1HeapRegionTable _regions static private long regionsFieldOffset; + // uint _committed_length + static private CIntegerField committedLengthField; static { VM.registerVMInitializedObserver(new Observer() { @@ -55,6 +57,7 @@ public class HeapRegionSeq extends VMObject { Type type = db.lookupType("HeapRegionSeq"); regionsFieldOffset = type.getField("_regions").getOffset(); + committedLengthField = type.getCIntegerField("_committed_length"); } private G1HeapRegionTable regions() { @@ -67,8 +70,12 @@ public class HeapRegionSeq extends VMObject { return regions().length(); } + public long committedLength() { + return committedLengthField.getValue(addr); + } + public Iterator<HeapRegion> heapRegionIterator() { - return regions().heapRegionIterator(); + return regions().heapRegionIterator(committedLength()); } public HeapRegionSeq(Address addr) { |