CallSite relinking

Mark Roos mroos at roos.com
Sun Mar 6 23:31:06 PST 2011


Thanks Attila,  I am doing the same as you  ( just want to revert the 
target)

regards
mark





From:
Attila Szegedi <szegedia at gmail.com>
To:
Da Vinci Machine Project <mlvm-dev at openjdk.java.net>
Date:
03/06/2011 10:34 PM
Subject:
Re: CallSite relinking
Sent by:
mlvm-dev-bounces at openjdk.java.net



Yeah, you'll need to keep a method handle for your linking method around.

Do you need to return them into an actual "unlinked" state, or do you just 
need to make sure they're relinked at the time of the next invocation? I 
found that for my use cases, the latter is actually sufficient - in my 
dynalink framework, I'll keep a MethodHandle to a "relinkAndInvoke" method 
in my relinkable call site class (see <
https://github.com/szegedi/dynalink/blob/master/src/org/dynalang/dynalink/RelinkableCallSite.java
>) and various subclasses of it use it to force relinking when necessary, 
i.e. i.e. MonomorphicCallSite in <
https://github.com/szegedi/dynalink/blob/master/src/org/dynalang/dynalink/MonomorphicCallSite.java
> will use it as the "false" branch of a guardWithTest().

If you need atomicity in invalidation, you can also use 
java.lang.invoke.SwitchPoint instead.

Attila.

On Mar 6, 2011, at 9:42 PM, Mark Roos wrote:

I am at the point where I need to plan for the insitu replacement of 
methods.  For this I need to relink the call sites 
which reference the selector of the method being replaced.   Looking over 
the latest api I don't see the old methods 
which one could use to force a callsite to an unlinked state.   

Is the approach now to use setTarget to return the callsite to its 
original post bootstrap state? Since to do this I 
need to know the original boostrap method and parameters, and I see no api 
to get them, I assume that I need 
to keep them as part of my call site implementation. 

Am I heading the right way? 

regards 
mark 

_______________________________________________
mlvm-dev mailing list
mlvm-dev at openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
_______________________________________________
mlvm-dev mailing list
mlvm-dev at openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20110306/f14f34c2/attachment.html 


More information about the mlvm-dev mailing list