Signed-off-by: Vegard Nossum <[email protected]>
---
Makefile | 1 +
regression/jvm/InvokestaticPatchingTest.java | 34 ++++++++++++++++++++++++++
regression/run-suite.sh | 1 +
3 files changed, 36 insertions(+), 0 deletions(-)
create mode 100644 regression/jvm/InvokestaticPatchingTest.java
diff --git a/Makefile b/Makefile
index 43d907c..cced880 100644
--- a/Makefile
+++ b/Makefile
@@ -210,6 +210,7 @@ REGRESSION_TEST_SUITE_CLASSES = \
regression/jvm/BranchTest.class \
regression/jvm/GetstaticPatchingTest.class \
regression/jvm/PutstaticPatchingTest.class \
+ regression/jvm/InvokestaticPatchingTest.class \
regression/jvm/ObjectArrayTest.class \
regression/jvm/ExitStatusIsOneTest.class \
regression/jvm/ExitStatusIsZeroTest.class \
diff --git a/regression/jvm/InvokestaticPatchingTest.java
b/regression/jvm/InvokestaticPatchingTest.java
new file mode 100644
index 0000000..410c091
--- /dev/null
+++ b/regression/jvm/InvokestaticPatchingTest.java
@@ -0,0 +1,34 @@
+package jvm;
+
+public class InvokestaticPatchingTest extends TestCase {
+ static boolean clinit_run = false;
+
+ private static class X {
+ static {
+ clinit_run = true;
+ }
+
+ static void f() {
+ }
+ }
+
+ public static void main(String[] args) {
+ int i = 0;
+
+ /* Should not trap, therefore clinit_run remains false */
+ assertFalse(clinit_run);
+ X x = null;
+ assertFalse(clinit_run);
+
+ /* Should trap, therefore clinit_run becomes true */
+ X.f();
+ assertTrue(clinit_run);
+
+ clinit_run = false;
+ /* Should not trap, therefore clinit_run remains false */
+ X.f();
+ assertFalse(clinit_run);
+
+ exit();
+ }
+}
diff --git a/regression/run-suite.sh b/regression/run-suite.sh
index 3ec6fff..aa83d3d 100755
--- a/regression/run-suite.sh
+++ b/regression/run-suite.sh
@@ -59,6 +59,7 @@ if [ -z "$CLASS_LIST" ]; then
run_java jvm.ExitStatusIsOneTest 1
run_java jvm.GetstaticPatchingTest 0
run_java jvm.PutstaticPatchingTest 0
+ run_java jvm.InvokestaticPatchingTest 0
run_java jvm.LoadConstantsTest 0
run_java jvm.IntegerArithmeticTest 0
run_java jvm.LongArithmeticTest 0
--
1.6.0.4
------------------------------------------------------------------------------
_______________________________________________
Jatovm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jatovm-devel