From be380d1452ca0ac7be1dc0d593b674d8db7707da Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Mon, 18 Jun 2012 18:39:17 +0200 Subject: [PATCH] traps: don't delete entry after consuming it see the source code comment. would be nice to enable deletion again --- Mate/MethodPool.hs | 5 ++++- tests/InstanceLong1.java | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Mate/MethodPool.hs b/Mate/MethodPool.hs index 7a0cda1..f7038f3 100644 --- a/Mate/MethodPool.hs +++ b/Mate/MethodPool.hs @@ -50,7 +50,10 @@ getMethodEntry signal_from methodtable = do (InterfaceMethod _ (MethodInfo methname _ msig)) -> newMi methname msig _ -> error "getMethodEntry: no TrapCause found. abort." where newMi mn = MethodInfo mn (vmap M.! fromIntegral methodtable) - setTrapMap $ M.delete w32_from tmap + -- bernhard (TODO): doesn't work with gnu classpath at some point. didn't + -- figured out the problem yet :/ therefore, I have no + -- testcase for replaying the situation. + -- setTrapMap $ M.delete w32_from tmap case M.lookup mi' mmap of Nothing -> do cls <- getClassFile cm diff --git a/tests/InstanceLong1.java b/tests/InstanceLong1.java index 5c7250e..e685c19 100644 --- a/tests/InstanceLong1.java +++ b/tests/InstanceLong1.java @@ -7,6 +7,9 @@ public class InstanceLong1 { new InstanceLong1().a1337(); new InstanceLong1().a0001(); new InstanceLong1().a2050(); + new InstanceLong1().a2050(); + new InstanceLong1().a2050(); + new InstanceLong1().a2050(); } public void a0001 () { System.out.printf("a0001\n"); } -- 2.25.1