Push invalidation + bimorphic fix

2011-08-08 Thread Charles Oliver Nutter
I have set up a local build against "hsx" hotspot compiler dev branch, thanks to Christian. I'll try to write something up with the process tomorrow. Anyway, I wanted to test out Tom's patch for GWT bimorphic inlining and Christian's patch for push invalidation of mutable call sites. The results w

Re: Request for review (L): 7071653: JSR 292: call site change notification should be pushed not pulled

2011-08-08 Thread Vladimir Kozlov
Tom Rodriguez wrote: > On Aug 8, 2011, at 11:52 AM, Vladimir Kozlov wrote: > >> Christian Thalinger wrote: >>> On Aug 8, 2011, at 4:55 PM, Vladimir Kozlov wrote: >>> Christian, Should we put "skip bytecode quickening" code under flag to do this only when invoke dynamic is enab

Re: Request for review (L): 7071653: JSR 292: call site change notification should be pushed not pulled

2011-08-08 Thread Tom Rodriguez
On Aug 8, 2011, at 11:52 AM, Vladimir Kozlov wrote: > Christian Thalinger wrote: >> On Aug 8, 2011, at 4:55 PM, Vladimir Kozlov wrote: >> >>> Christian, >>> >>> Should we put "skip bytecode quickening" code under flag to do this only >>> when invoke dynamic is enabled? Or put_code is zero only

Re: Request for review (L): 7071653: JSR 292: call site change notification should be pushed not pulled

2011-08-08 Thread Tom Rodriguez
dependencies.cpp: in check_call_site_target_value, the changes == NULL case should be checking that the call site hasn't changed. It should probably look more like this: klassOop Dependencies::check_call_site_target_value(klassOop ctxk, oop call_site, CallSiteDepChange* changes) { assert(cal

Re: Request for review (L): 7071653: JSR 292: call site change notification should be pushed not pulled

2011-08-08 Thread Vladimir Kozlov
Christian Thalinger wrote: > On Aug 8, 2011, at 4:55 PM, Vladimir Kozlov wrote: > >> Christian, >> >> Should we put "skip bytecode quickening" code under flag to do this only >> when invoke dynamic is enabled? Or put_code is zero only in invoke dynamic >> case? > > No, it doesn't buy us anythin

Re: JRuby/Seph/PHP.reboot/... SwitchPoint usage

2011-08-08 Thread Christian Thalinger
On Aug 8, 2011, at 6:39 PM, Charles Oliver Nutter wrote: > On Mon, Aug 8, 2011 at 9:51 AM, Christian Thalinger > wrote: >> Since I have the basic push-notification of CallSites I'm now looking into >> push-notification of SwitchPoints: >> >> 7071709: JSR 292: switchpoint invalidation should be

Re: JRuby/Seph/PHP.reboot/... SwitchPoint usage

2011-08-08 Thread Charles Oliver Nutter
On Mon, Aug 8, 2011 at 9:51 AM, Christian Thalinger wrote: > Since I have the basic push-notification of CallSites I'm now looking into > push-notification of SwitchPoints: > > 7071709: JSR 292: switchpoint invalidation should be pushed not pulled > > Basically it should be the same, just needs s

Re: JRuby/Seph/PHP.reboot/... SwitchPoint usage

2011-08-08 Thread Christian Thalinger
On Aug 8, 2011, at 4:01 PM, Rémi Forax wrote: > On 08/08/2011 03:51 PM, Christian Thalinger wrote: >> Since I have the basic push-notification of CallSites I'm now looking into >> push-notification of SwitchPoints: >> >> 7071709: JSR 292: switchpoint invalidation should be pushed not pulled >>

Re: Request for review (L): 7071653: JSR 292: call site change notification should be pushed not pulled

2011-08-08 Thread Vladimir Kozlov
Christian, Should we put "skip bytecode quickening" code under flag to do this only when invoke dynamic is enabled? Or put_code is zero only in invoke dynamic case? On 8/8/11 6:56 AM, Christian Thalinger wrote: >> Why on sparc you use ld_ptr() to load from cache but on X86 and X64 you use >> m

Re: JRuby/Seph/PHP.reboot/... SwitchPoint usage

2011-08-08 Thread Rémi Forax
On 08/08/2011 03:51 PM, Christian Thalinger wrote: > Since I have the basic push-notification of CallSites I'm now looking into > push-notification of SwitchPoints: > > 7071709: JSR 292: switchpoint invalidation should be pushed not pulled > > Basically it should be the same, just needs some addit

Re: Request for review (L): 7071653: JSR 292: call site change notification should be pushed not pulled

2011-08-08 Thread Christian Thalinger
On Aug 8, 2011, at 12:35 AM, Vladimir Kozlov wrote: > Christian, > > You need to add big comment to the new code in templateTable_.cpp > explaining what it does and why. Done. I made the wording a little more general because Tom's effectively final work might use the same machinery. > > Wh

JRuby/Seph/PHP.reboot/... SwitchPoint usage

2011-08-08 Thread Christian Thalinger
Since I have the basic push-notification of CallSites I'm now looking into push-notification of SwitchPoints: 7071709: JSR 292: switchpoint invalidation should be pushed not pulled Basically it should be the same, just needs some additional love in the compiler. I looked into JRuby's usage of