From: Colin(Du Li) <daw...@gm...> - 2011-11-02 04:54:26
|
Hi all, I have a question about method invalidation. I invalidate a method like: m1.invalidateCompiledMethod(cm1) Seems the invalidated compiled code cm will still be executed multiple or even lot of times. Why? I know one reason is if cm1 is already on some threads' stack, in other words, if the invocation of cm1 happens before the invalidation, cm1 will be executed anyway. Any other reason? Will all new invocations happens after invalidation ask VM to recompile method m1 instead of executing invalidated compiled code cm1? Put it another way, if there is a method m2 invokes m1 like: m2() { m1(); } If m2 has been compiled into machine cm2, then we invalidate m1. Now will the invocation of cm2 will ask VM to recompile m1 into cm1_new and call cm1_new instead of call cm1? Thanks a lot! Du -- View this message in context: http://old.nabble.com/Will-invalidated-methods-been-executed-multiple-times--tp32763524p32763524.html Sent from the jikesrvm-researchers mailing list archive at Nabble.com. |