[aarch64-port-dev ] Fix bug that causes lock stack to grow forever
Andrew Haley
aph at redhat.com
Wed Dec 18 08:34:22 PST 2013
This is a bug that's been in the template interpreter for a long time.
We don't resule locks, so if we stay in the same method, the lock
stack grows and grows.
Andrew.
# HG changeset patch
# User aph
# Date 1387384212 0
# Node ID ccb79214e22703f8f6f49ef90f868b1d7616b827
# Parent 18ff7f6f689d8432df5cbc40c4fcc67a26450dbf
Fix bug that causes lock stack to grow forever.
diff -r 18ff7f6f689d -r ccb79214e227 src/cpu/aarch64/vm/templateTable_aarch64.cpp
--- a/src/cpu/aarch64/vm/templateTable_aarch64.cpp Mon Dec 16 18:01:33 2013 +0000
+++ b/src/cpu/aarch64/vm/templateTable_aarch64.cpp Wed Dec 18 16:30:12 2013 +0000
@@ -3539,6 +3539,7 @@
// check if current entry is used
// if not used then remember entry in c_rarg1
__ ldr(rscratch1, Address(c_rarg3, BasicObjectLock::obj_offset_in_bytes()));
+ __ cmp(zr, rscratch1);
__ csel(c_rarg1, c_rarg3, c_rarg1, Assembler::EQ);
// check if current entry is for same object
__ cmp(r0, rscratch1);
More information about the aarch64-port-dev
mailing list