Thanks for looking into it Vladimir...I'm standing by to test out anything!
- Charlie On Tue, Mar 3, 2015 at 10:23 AM, Vladimir Ivanov <vladimir.x.iva...@oracle.com> wrote: > John, > >> So let's make hindsight work for us: Is there a way (either with or >> without the split you suggest) to more firmly couple the update to the >> query? Separating into two operations might be the cleanest way to go, but >> I think it's safer to keep both halves together, as long as the slow path >> can do the right stuff. >> >> Suggestion: Instead of have the intrinsic expand to nothing, have it >> expand to an uncommon trap (on the slow path), with the uncommon trap doing >> the profile update operation (as currently coded). > > Right now, VM doesn't care about profiling logic at all. The intrinsic is > used only to inject profile data and all profiling happens in Java code. > Once MHI.profileBoolean is intrinsified (profile is injected), no profiling > actions are performed. > > The only way I see is to inject count bump on pruned branch before issuing > uncommon trap. Alike profile_taken_branch in Parse::do_if, but it should not > update MDO, but user-specified int[2]). > > It looks irregular and spreads profiling logic between VM & Java code. But > it allows to keep single entry point between VM & Java (MHI.profileBoolean). > > I'll prototype it to see how does it look like on the code level. > > Best regards, > Vladimir Ivanov > > _______________________________________________ > mlvm-dev mailing list > mlvm-dev@openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev