aboutsummaryrefslogtreecommitdiff
path: root/agent
diff options
context:
space:
mode:
authorkvn <none@none>2013-12-12 11:05:39 -0800
committerkvn <none@none>2013-12-12 11:05:39 -0800
commitb3590a6bb7bebb81127e483aaa6380472e64e380 (patch)
treea510ece5335f94d53fad2e3f6787df6c02517df6 /agent
parentb657721dea484cedd6c7399c16aae2aceb30f4eb (diff)
parent859997d4af699a573ba5fffe61bcb38b3e911a0f (diff)
downloadjdk8u_hotspot-b3590a6bb7bebb81127e483aaa6380472e64e380.tar.gz
Merge
Diffstat (limited to 'agent')
-rw-r--r--agent/make/jsdbproc64.sh14
-rw-r--r--agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1HeapRegionTable.java8
-rw-r--r--agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java9
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) {