Skip to content

Commit 7c1fee3

Browse files
committed
Merge branch 'master' into graal
2 parents cbb993e + 893eb4e commit 7c1fee3

File tree

65 files changed

+2014
-269
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2014
-269
lines changed

visualvm/applicationviews/nbproject/project.xml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -61,57 +61,57 @@
6161
</run-dependency>
6262
</dependency>
6363
<dependency>
64-
<code-name-base>org.graalvm.visualvm.threaddump</code-name-base>
64+
<code-name-base>org.graalvm.visualvm.lib.jfluid</code-name-base>
6565
<build-prerequisite/>
6666
<compile-dependency/>
6767
<run-dependency>
68-
<release-version>0</release-version>
69-
<specification-version>1.0</specification-version>
68+
<release-version>1</release-version>
69+
<specification-version>1.10.1</specification-version>
7070
</run-dependency>
7171
</dependency>
7272
<dependency>
73-
<code-name-base>org.graalvm.visualvm.tools</code-name-base>
73+
<code-name-base>org.graalvm.visualvm.lib.profiler.api</code-name-base>
7474
<build-prerequisite/>
7575
<compile-dependency/>
7676
<run-dependency>
77-
<release-version>0</release-version>
78-
<specification-version>1.0</specification-version>
77+
<release-version>1</release-version>
78+
<specification-version>1.47</specification-version>
7979
</run-dependency>
8080
</dependency>
8181
<dependency>
82-
<code-name-base>org.graalvm.visualvm.uisupport</code-name-base>
82+
<code-name-base>org.graalvm.visualvm.lib.ui</code-name-base>
8383
<build-prerequisite/>
8484
<compile-dependency/>
8585
<run-dependency>
86-
<release-version>0</release-version>
87-
<specification-version>1.0</specification-version>
86+
<release-version>1</release-version>
87+
<specification-version>1.149</specification-version>
8888
</run-dependency>
8989
</dependency>
9090
<dependency>
91-
<code-name-base>org.graalvm.visualvm.lib.jfluid</code-name-base>
91+
<code-name-base>org.graalvm.visualvm.threaddump</code-name-base>
9292
<build-prerequisite/>
9393
<compile-dependency/>
9494
<run-dependency>
95-
<release-version>1</release-version>
96-
<specification-version>1.10.1</specification-version>
95+
<release-version>0</release-version>
96+
<specification-version>1.0</specification-version>
9797
</run-dependency>
9898
</dependency>
9999
<dependency>
100-
<code-name-base>org.graalvm.visualvm.lib.ui</code-name-base>
100+
<code-name-base>org.graalvm.visualvm.tools</code-name-base>
101101
<build-prerequisite/>
102102
<compile-dependency/>
103103
<run-dependency>
104-
<release-version>1</release-version>
105-
<specification-version>1.43.1</specification-version>
104+
<release-version>0</release-version>
105+
<specification-version>1.0</specification-version>
106106
</run-dependency>
107107
</dependency>
108108
<dependency>
109-
<code-name-base>org.graalvm.visualvm.lib.profiler.api</code-name-base>
109+
<code-name-base>org.graalvm.visualvm.uisupport</code-name-base>
110110
<build-prerequisite/>
111111
<compile-dependency/>
112112
<run-dependency>
113-
<release-version>1</release-version>
114-
<specification-version>1.47</specification-version>
113+
<release-version>0</release-version>
114+
<specification-version>1.0</specification-version>
115115
</run-dependency>
116116
</dependency>
117117
<dependency>

visualvm/applicationviews/src/org/graalvm/visualvm/application/views/overview/OverviewViewSupport.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import org.graalvm.visualvm.core.ui.components.DataViewComponent;
4343
import org.graalvm.visualvm.core.ui.components.NotSupportedDisplayer;
4444
import org.graalvm.visualvm.core.ui.components.ScrollableContainer;
45-
import org.graalvm.visualvm.uisupport.HTMLTextArea;
4645
import java.awt.BorderLayout;
4746
import java.beans.PropertyChangeEvent;
4847
import java.beans.PropertyChangeListener;
@@ -57,6 +56,8 @@
5756
import javax.swing.JComponent;
5857
import javax.swing.JPanel;
5958
import javax.swing.SwingUtilities;
59+
import org.graalvm.visualvm.lib.ui.components.HTMLTextArea;
60+
import org.graalvm.visualvm.lib.ui.components.HTMLTextAreaSearchUtils;
6061
import org.openide.util.NbBundle;
6162
import org.openide.util.WeakListeners;
6263

@@ -297,9 +298,10 @@ private void initComponents(String jvmargs) {
297298
setOpaque(false);
298299

299300
JComponent contents;
301+
HTMLTextArea area = null;
300302

301303
if (jvmargs != null) {
302-
HTMLTextArea area = new HTMLTextArea("<nobr>" + jvmargs + "</nobr>"); // NOI18N
304+
area = new HTMLTextArea("<nobr>" + jvmargs + "</nobr>"); // NOI18N
303305
area.setCaretPosition(0);
304306
area.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
305307
contents = area;
@@ -308,9 +310,10 @@ private void initComponents(String jvmargs) {
308310
}
309311

310312
add(new ScrollableContainer(contents), BorderLayout.CENTER);
313+
if (area != null) add(HTMLTextAreaSearchUtils.createSearchPanel(area), BorderLayout.SOUTH);
311314
}
312315

313-
}
316+
}
314317

315318

316319
// --- System properties ---------------------------------------------------
@@ -330,9 +333,10 @@ private void initComponents(String properties) {
330333
setOpaque(false);
331334

332335
JComponent contents;
336+
HTMLTextArea area = null;
333337

334338
if (properties != null) {
335-
HTMLTextArea area = new HTMLTextArea("<nobr>" + properties + "</nobr>"); // NOI18N
339+
area = new HTMLTextArea("<nobr>" + properties + "</nobr>"); // NOI18N
336340
area.setCaretPosition(0);
337341
area.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
338342
contents = area;
@@ -341,7 +345,8 @@ private void initComponents(String properties) {
341345
}
342346

343347
add(new ScrollableContainer(contents), BorderLayout.CENTER);
348+
if (area != null) add(HTMLTextAreaSearchUtils.createSearchPanel(area), BorderLayout.SOUTH);
344349
}
345350

346-
}
347-
}
351+
}
352+
}

visualvm/branding/modules/org-netbeans-modules-profiler.jar/org/netbeans/modules/profiler/heapwalk/model/Bundle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@
2323
# questions.
2424

2525

26-
BrowserUtils_OutOfMemoryMsg=<html><b>Out of memory in HeapWalker</b><br><br>To avoid this error, increase the -Xmx value<br>in the etc/visualvm.conf file in VisualVM installation directory.</html>
26+
BrowserUtils_OutOfMemoryMsg=<html><b>Out of memory in HeapWalker</b><br><br>To avoid this error please increase the -Xmx value<br>in the etc/visualvm.conf file in VisualVM directory.</html>
2727

visualvm/heapdump/nbproject/project.xml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,59 +39,59 @@
3939
<compile-dependency/>
4040
<run-dependency>
4141
<release-version>0</release-version>
42-
<specification-version>1.0</specification-version>
42+
<specification-version>1.2</specification-version>
4343
</run-dependency>
4444
</dependency>
4545
<dependency>
46-
<code-name-base>org.graalvm.visualvm.tools</code-name-base>
46+
<code-name-base>org.graalvm.visualvm.lib.jfluid</code-name-base>
4747
<build-prerequisite/>
4848
<compile-dependency/>
4949
<run-dependency>
50-
<release-version>0</release-version>
51-
<specification-version>1.2</specification-version>
50+
<release-version>1</release-version>
51+
<specification-version>1.10.1</specification-version>
5252
</run-dependency>
5353
</dependency>
5454
<dependency>
55-
<code-name-base>org.netbeans.api.progress</code-name-base>
55+
<code-name-base>org.graalvm.visualvm.lib.profiler</code-name-base>
5656
<build-prerequisite/>
5757
<compile-dependency/>
5858
<run-dependency>
59-
<release-version>1</release-version>
60-
<specification-version>1.48</specification-version>
59+
<release-version>3</release-version>
60+
<specification-version>3.28</specification-version>
6161
</run-dependency>
6262
</dependency>
6363
<dependency>
64-
<code-name-base>org.netbeans.api.progress.nb</code-name-base>
64+
<code-name-base>org.graalvm.visualvm.lib.profiler.heapwalker</code-name-base>
6565
<build-prerequisite/>
6666
<compile-dependency/>
6767
<run-dependency>
68-
<specification-version>1.48</specification-version>
68+
<specification-version>1.1</specification-version>
6969
</run-dependency>
7070
</dependency>
7171
<dependency>
72-
<code-name-base>org.graalvm.visualvm.lib.jfluid</code-name-base>
72+
<code-name-base>org.graalvm.visualvm.tools</code-name-base>
7373
<build-prerequisite/>
7474
<compile-dependency/>
7575
<run-dependency>
76-
<release-version>1</release-version>
77-
<specification-version>1.10.1</specification-version>
76+
<release-version>0</release-version>
77+
<specification-version>1.2</specification-version>
7878
</run-dependency>
7979
</dependency>
8080
<dependency>
81-
<code-name-base>org.graalvm.visualvm.lib.profiler</code-name-base>
81+
<code-name-base>org.netbeans.api.progress</code-name-base>
8282
<build-prerequisite/>
8383
<compile-dependency/>
8484
<run-dependency>
85-
<release-version>3</release-version>
86-
<specification-version>3.28</specification-version>
85+
<release-version>1</release-version>
86+
<specification-version>1.48</specification-version>
8787
</run-dependency>
8888
</dependency>
8989
<dependency>
90-
<code-name-base>org.graalvm.visualvm.lib.profiler.heapwalker</code-name-base>
90+
<code-name-base>org.netbeans.api.progress.nb</code-name-base>
9191
<build-prerequisite/>
9292
<compile-dependency/>
9393
<run-dependency>
94-
<specification-version>1.1</specification-version>
94+
<specification-version>1.48</specification-version>
9595
</run-dependency>
9696
</dependency>
9797
<dependency>

visualvm/heapdump/src/org/graalvm/visualvm/heapdump/impl/Bundle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ MSG_Cannot_take_heap_dump=Cannot take heap dump for
4141

4242
LBL_Creating_Heap_Dump=Creating Heap Dump...
4343

44-
LBL_Loading_Heap_Dump=Loading Heap Dump...
44+
LBL_Loading_Heap_Dump=Loading heap dump...
4545

4646
LBL_Loading_Heap_Dump_failed=Loading Heap Dump failed.
4747

visualvm/heapdump/src/org/graalvm/visualvm/heapdump/impl/HeapDumpView.java

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,13 @@
5252
* @author Tomas Hurka
5353
*/
5454
class HeapDumpView extends DataSourceView {
55+
5556
private final static Logger LOGGER = Logger.getLogger(HeapDumpView.class.getName());
5657

58+
59+
private MasterViewSupport mvs;
60+
61+
5762
public HeapDumpView(HeapDump heapDump) {
5863
this(heapDump, DataSourceDescriptorFactory.getDescriptor(heapDump));
5964
}
@@ -65,8 +70,8 @@ private HeapDumpView(HeapDump heapDump, DataSourceDescriptor descriptor) {
6570

6671
protected DataViewComponent createComponent() {
6772
HeapDump heapDump = (HeapDump)getDataSource();
68-
DataViewComponent dvc = new DataViewComponent(
69-
new MasterViewSupport(heapDump).getMasterView(),
73+
mvs = new MasterViewSupport(heapDump);
74+
DataViewComponent dvc = new DataViewComponent(mvs.getMasterView(),
7075
new DataViewComponent.MasterViewConfiguration(true));
7176

7277
return dvc;
@@ -95,6 +100,12 @@ private static boolean isClosableView(HeapDump heapDump) {
95100
return false;
96101
}
97102

103+
protected void removed() {
104+
SwingUtilities.invokeLater(new Runnable() {
105+
public void run() { if (mvs != null) mvs.closed(); }
106+
});
107+
}
108+
98109

99110
// --- General data --------------------------------------------------------
100111

@@ -103,6 +114,8 @@ private static class MasterViewSupport extends JPanel {
103114
private JLabel progressLabel;
104115
private JPanel contentsPanel;
105116

117+
private HeapViewer heapViewer;
118+
106119
public MasterViewSupport(HeapDump heapDump) {
107120
File file = heapDump.getFile();
108121
initComponents(file != null);
@@ -115,6 +128,11 @@ public DataViewComponent.MasterView getMasterView() {
115128
}
116129

117130

131+
void closed() {
132+
if (heapViewer != null) heapViewer.closed();
133+
}
134+
135+
118136
private void initComponents(boolean hasDump) {
119137
setLayout(new BorderLayout());
120138

@@ -134,8 +152,9 @@ private void loadHeap(final File file) {
134152
RequestProcessor.getDefault().post(new Runnable() {
135153
public void run() {
136154
try {
137-
final HeapViewer heapViewer = new HeapViewer(file);
155+
final HeapViewer _heapViewer = new HeapViewer(file);
138156
SwingUtilities.invokeLater(new Runnable() { public void run() {
157+
heapViewer = _heapViewer;
139158
contentsPanel.remove(progressLabel);
140159
contentsPanel.add(heapViewer.getComponent(), BorderLayout.CENTER);
141160
contentsPanel.revalidate();

visualvm/heapviewer/manifest.mf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false
33
AutoUpdate-Essential-Module: true
44
OpenIDE-Module: org.graalvm.visualvm.heapviewer/0
55
OpenIDE-Module-Localizing-Bundle: org/graalvm/visualvm/heapviewer/Bundle.properties
6-
OpenIDE-Module-Specification-Version: 1.1
6+
OpenIDE-Module-Specification-Version: 1.2
77

visualvm/heapviewer/nbproject/project.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
<compile-dependency/>
5757
<run-dependency>
5858
<release-version>1</release-version>
59-
<specification-version>1.147</specification-version>
59+
<specification-version>1.149</specification-version>
6060
</run-dependency>
6161
</dependency>
6262
<dependency>
@@ -65,7 +65,7 @@
6565
<compile-dependency/>
6666
<run-dependency>
6767
<release-version>0</release-version>
68-
<specification-version>1.6</specification-version>
68+
<specification-version>1.7</specification-version>
6969
</run-dependency>
7070
</dependency>
7171
<dependency>

visualvm/heapviewer/src/org/graalvm/visualvm/heapviewer/HeapViewer.java

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
import java.util.List;
3636
import javax.swing.JComponent;
3737
import javax.swing.SwingUtilities;
38+
import org.graalvm.visualvm.core.ui.components.NotSupportedDisplayer;
39+
import org.graalvm.visualvm.heapviewer.utils.HeapUtils;
3840
import org.netbeans.api.progress.ProgressHandle;
3941
import org.graalvm.visualvm.lib.jfluid.heap.Heap;
4042
import org.graalvm.visualvm.lib.jfluid.heap.HeapFactory;
@@ -47,7 +49,9 @@
4749
* @author Jiri Sedlacek
4850
*/
4951
@NbBundle.Messages({
50-
"HeapViewer_LoadingDumpMsg=Loading Heap Dump..."
52+
"HeapViewer_LoadingDumpMsg=Loading Heap Dump...",
53+
"HeapViewer_HeapDumpEmpty=heap dump (no content)", // Displays 'Not supported for this heap dump (no content)'
54+
"HeapViewer_HeapDumpOOME=heap dump (not enough memory)" // Displays 'Not supported for this heap dump (not enough memory)'
5155
})
5256
public final class HeapViewer {
5357

@@ -56,7 +60,7 @@ public final class HeapViewer {
5660

5761
private final List<HeapFragment> heapFragments;
5862

59-
private HeapViewerComponent component;
63+
private JComponent component;
6064

6165

6266
public HeapViewer(File file) throws IOException {
@@ -84,9 +88,19 @@ public List<HeapFragment> getFragments() {
8488

8589

8690
public JComponent getComponent() {
87-
if (component == null) component = new HeapViewerComponent(this);
91+
if (component == null) {
92+
if (heapFragments == null) component = new NotSupportedDisplayer(Bundle.HeapViewer_HeapDumpOOME());
93+
else if (heapFragments.isEmpty()) component = new NotSupportedDisplayer(Bundle.HeapViewer_HeapDumpEmpty());
94+
else component = new HeapViewerComponent(this);
95+
}
8896
return component;
8997
}
98+
99+
100+
public void closed() {
101+
if (component instanceof HeapViewerComponent)
102+
((HeapViewerComponent)component).closed();
103+
}
90104

91105

92106
private static Heap createHeap(File heapFile) throws IOException {
@@ -106,12 +120,18 @@ private static Heap createHeap(File heapFile) throws IOException {
106120
heap.getSummary(); // Precompute HeapSummary within the progress
107121

108122
return heap;
123+
} catch (OutOfMemoryError e) {
124+
System.err.println("Out of memory in HeapViewer.createHeap: " + e.getMessage()); // NOI18N
125+
HeapUtils.handleOOME(false, e);
126+
return null;
109127
} finally {
110128
if (pHandle != null) pHandle.finish();
111129
}
112130
}
113131

114132
private static List<HeapFragment> computeHeapFragments(File heapDumpFile, Lookup.Provider heapDumpProject, Heap heap) throws IOException {
133+
if (heap == null) return null;
134+
115135
Collection<? extends HeapFragment.Provider> providers = Lookup.getDefault().lookupAll(HeapFragment.Provider.class);
116136

117137
List<HeapFragment> fragments = new ArrayList(providers.size());

0 commit comments

Comments
 (0)