From d17b59542529165b744f5f94cf535554dac2b540 Mon Sep 17 00:00:00 2001 From: Ryan Kurtz Date: Thu, 2 Jul 2026 15:29:40 -0400 Subject: [PATCH] GP-7037: Using Java Compact Object Headers --- Ghidra/Features/Base/.launch/Ghidra Code Coverage.launch | 2 +- Ghidra/Features/Base/.launch/Ghidra.launch | 2 +- Ghidra/Features/Base/.launch/Headless.launch | 2 +- Ghidra/Features/Base/.launch/JShell.launch | 2 +- Ghidra/RuntimeScripts/support/launch.properties | 3 +++ gradle/javaTestProject.gradle | 1 + gradle/root/test.gradle | 1 + 7 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Ghidra/Features/Base/.launch/Ghidra Code Coverage.launch b/Ghidra/Features/Base/.launch/Ghidra Code Coverage.launch index b21276478d..5b581992fe 100644 --- a/Ghidra/Features/Base/.launch/Ghidra Code Coverage.launch +++ b/Ghidra/Features/Base/.launch/Ghidra Code Coverage.launch @@ -29,6 +29,6 @@ - + diff --git a/Ghidra/Features/Base/.launch/Ghidra.launch b/Ghidra/Features/Base/.launch/Ghidra.launch index 55365e4156..33d4a65c07 100644 --- a/Ghidra/Features/Base/.launch/Ghidra.launch +++ b/Ghidra/Features/Base/.launch/Ghidra.launch @@ -31,5 +31,5 @@ - + diff --git a/Ghidra/Features/Base/.launch/Headless.launch b/Ghidra/Features/Base/.launch/Headless.launch index 7898a844d7..a65c4e6219 100644 --- a/Ghidra/Features/Base/.launch/Headless.launch +++ b/Ghidra/Features/Base/.launch/Headless.launch @@ -31,5 +31,5 @@ - + diff --git a/Ghidra/Features/Base/.launch/JShell.launch b/Ghidra/Features/Base/.launch/JShell.launch index d68455103e..a315f3bd02 100644 --- a/Ghidra/Features/Base/.launch/JShell.launch +++ b/Ghidra/Features/Base/.launch/JShell.launch @@ -31,5 +31,5 @@ - + diff --git a/Ghidra/RuntimeScripts/support/launch.properties b/Ghidra/RuntimeScripts/support/launch.properties index f13c8f1e5a..4608a4bbad 100644 --- a/Ghidra/RuntimeScripts/support/launch.properties +++ b/Ghidra/RuntimeScripts/support/launch.properties @@ -97,6 +97,9 @@ VMARGS_WINDOWS=-Dlog4j.skipJansi=true # Ghidra does not use class data sharing, so explicitly turn it off to avoid the warning. VMARGS=-Xshare:off +# Use JDK compact object headers +VMARGS=-XX:+UseCompactObjectHeaders + # Restrict XML external access VMARGS=-Djavax.xml.accessExternalDTD= VMARGS=-Djavax.xml.accessExternalSchema= diff --git a/gradle/javaTestProject.gradle b/gradle/javaTestProject.gradle index de72136f9a..4f7f75db33 100644 --- a/gradle/javaTestProject.gradle +++ b/gradle/javaTestProject.gradle @@ -193,6 +193,7 @@ def initTestJVM(Task task, String rootDirName) { '-Dcpu.core.override=8', '-XX:ParallelGCThreads=8', '-XX:+UseParallelGC', + '-XX:+UseCompactObjectHeaders', '-Djava.awt.headless=false', '-DDecompilerFunctionAnalyzer.enabled=false', // prevent long-winded analysis when testing (see DecompilerFunctionAnalyzer) '-Dfile.encoding=UTF8', diff --git a/gradle/root/test.gradle b/gradle/root/test.gradle index 03d7f468da..0f94af6ac3 100644 --- a/gradle/root/test.gradle +++ b/gradle/root/test.gradle @@ -328,6 +328,7 @@ def initTestJVM(Task task, String rootDirName) { '-Dcpu.core.override=8', '-XX:ParallelGCThreads=8', '-XX:+UseParallelGC', + '-XX:+UseCompactObjectHeaders', '-Djava.awt.headless=false', '-DDecompilerFunctionAnalyzer.enabled=false', // prevent long-winded analysis when testing (see DecompilerFunctionAnalyzer) '-Dfile.encoding=UTF8',