Re: Proposed API for JEP 259: Stack-Walking API

2015-10-31 Thread Vitaly Davidovich
- Offlist John, is there a link for more info on "true polymorphism"? Thanks sent from my phone On Oct 31, 2015 3:51 PM, "John Rose" wrote: > On Oct 31, 2015, at 11:50 AM, Remi Forax wrote: > > > I think most of the runtime language developers, myself included will kill > to have this feature

Re: Proposed API for JEP 259: Stack-Walking API

2015-10-31 Thread Vitaly Davidovich
Ah, that's what you meant; ok, thanks sent from my phone On Oct 31, 2015 3:57 PM, "John Rose" wrote: > On Oct 31, 2015, at 12:54 PM, Vitaly Davidovich wrote: > > John, is there a link for more info on "true polymorphism" > > It's what

Re: What's the status of / relation between "JEP 169: Value Objects" / "Value Types for Java" / "Object Layout"

2015-02-03 Thread Vitaly Davidovich
of headers is already a cacheline on most 64bit architectures. But for those cases where the cpu uses 2 lines as the coherence unit and/or cacheline sizes grow, it could be useful. On Tue, Feb 3, 2015 at 4:08 PM, Gil Tene wrote: > > > On Feb 3, 2015, at 12:20 PM, Vitaly Davidovich &

Re: What's the status of / relation between "JEP 169: Value Objects" / "Value Types for Java" / "Object Layout"

2015-02-03 Thread Vitaly Davidovich
from my phone On Feb 3, 2015 2:10 PM, "Gil Tene" wrote: > > On Feb 3, 2015, at 9:13 AM, Vitaly Davidovich wrote: > > Gil, not sure if you saw my reply to Volker, but I agree -- I was simply > asking why request this optimization via explicit syntax and not do it > au

Re: What's the status of / relation between "JEP 169: Value Objects" / "Value Types for Java" / "Object Layout"

2015-02-03 Thread Vitaly Davidovich
some future JDK if > language support was added (e.g. to avoid mentioning the > needed-only-to-conform-with-syntax things like "this", and the field name > in the constructWithin() call), but I expect the semantics to need to be > similar even if the syntax was made less verbose. &

Re: What's the status of / relation between "JEP 169: Value Objects" / "Value Types for Java" / "Object Layout"

2015-02-03 Thread Vitaly Davidovich
;t imply that I've done > this :) you will finally get to something similar like the > ObjectLayout library. > > Regards, > Volker > > > On Tue, Feb 3, 2015 at 5:40 PM, Vitaly Davidovich > wrote: > > Hi Volker, > > > > Sorry, I may have been u

Re: What's the status of / relation between "JEP 169: Value Objects" / "Value Types for Java" / "Object Layout"

2015-02-03 Thread Vitaly Davidovich
but > with various degrees of freedom to optionally choose value semantics. > > Regards, > Volker > > [1] http://cr.openjdk.java.net/~jrose/values/values-0.html > > On Mon, Feb 2, 2015 at 9:19 PM, Vitaly Davidovich > wrote: > > Volker (or anyone else for that matte

Re: What's the status of / relation between "JEP 169: Value Objects" / "Value Types for Java" / "Object Layout"

2015-02-02 Thread Vitaly Davidovich
Volker (or anyone else for that matter), Just curious -- do you envision "inline" layout of objects as something one would have to opt-in or as the default layout for all objects in a heap? It seems like this should be the default (assuming zero to minimal overhead for loading the references) as I

Re: [9] RFR (S): 8058892: FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl

2014-10-02 Thread Vitaly Davidovich
n 10/02/2014 09:28 PM, Vitaly Davidovich wrote: > > Yes, this is the version I wanted to see (i.e. where the only diff is > varargs, and not any anything else like array iteration, etc). > > Why did fillCopyLoop() get some much worse than in your prior email > though? > > >

Re: [9] RFR (S): 8058892: FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl

2014-10-02 Thread Vitaly Davidovich
er" method is not of any help, since it's not reusable for > different array lengths... > > > Regards, Peter > > > On 10/02/2014 08:54 PM, Peter Levart wrote: > > > On 10/02/2014 08:42 PM, Vitaly Davidovich wrote: > > AFIK, varargs (up to something l

Re: [9] RFR (S): 8058892: FILL_ARRAYS and ARRAYS are eagely initialized in MethodHandleImpl

2014-10-02 Thread Vitaly Davidovich
AFIK, varargs (up to something like 64 args) should be eliminated by EA. Peter, can you add another jmh test that uses varargs but doesn't call into System.arraycopy but uses the hand rolled version like your at method? I'm wondering if that makes EA not kick in. Sent from my phone On Oct 2, 2014

Re: [9] RFR (L): 8057042: LambdaFormEditor: derive new LFs from a base LF

2014-09-05 Thread Vitaly Davidovich
Remi, Just curious - was that C1 compiler output? I recall Tom Rodriguez mentioning a while ago (while this same topic was discussed on another thread) that C2 is more aggressive about inlining, and doesn't have a hard stop at 35 bytes. Thanks Sent from my phone On Sep 5, 2014 4:39 PM, "Remi For

Re: Improving the speed of Thread interrupt checking

2013-05-10 Thread Vitaly Davidovich
How would you handle the following with just CAS: 1) thread A reads the status and notices that it's set, and then gets preemepted 2) thread B resets the interrupt and then sets it again 3) thread A resumes and does a CAS expecting the current state to be interrupted, which it is - CAS succeeds and

Re: JEP 169: Value Objects

2012-11-07 Thread Vitaly Davidovich
How about frozen? Sent from my phone On Nov 7, 2012 8:15 PM, "Remi Forax" wrote: > On 11/07/2012 10:35 PM, John Rose wrote: > > Thanks! This will move the conversation forward. > > > > -- John (on my iPhone) > > John, Mark, > please the name 'locked object' should be changed, > first because t

Re: JEP 169: Value Objects

2012-11-07 Thread Vitaly Davidovich
Hi John, Nice to see this effort moving forward. While reading the JEP, I can't help but think how complicated this sounds for JVM implementors. Is introducing bytecodes and new value type representation definitely a nonstarter? I'm thinking a setup akin to the CLR. I certainly understand the a

Re: Are java.lang classes better served by the JVM?

2012-09-28 Thread Vitaly Davidovich
phone On Sep 28, 2012 5:55 PM, "BGB" wrote: > On 9/28/2012 4:10 PM, Vitaly Davidovich wrote: > > Since we're in wishful thinking territory now :), the two things I'd > really like are: > > 1) value/struct types (i.e. avoid heap and be able to pack data clo

Re: Are java.lang classes better served by the JVM?

2012-09-28 Thread Vitaly Davidovich
JVM, so I > can make an asm version of something and tell hotspot "no no, use > this, not the JVM bytecode" :) > > - Charlie > > On Fri, Sep 28, 2012 at 11:53 AM, Vitaly Davidovich > wrote: > > Yup, it would have to do extensive pattern matching otherwise. C/C++ &g

Re: Are java.lang classes better served by the JVM?

2012-09-28 Thread Vitaly Davidovich
For things like this, it's better to grab hsdis and look at the generated assembly - it'll answer most of these types of questions. Sent from my phone On Sep 28, 2012 2:54 PM, "Ben Evans" wrote: > Please include a link to your entire project, including the test harness. > > Microbenchmarks are t

Re: Are java.lang classes better served by the JVM?

2012-09-28 Thread Vitaly Davidovich
Yup, it would have to do extensive pattern matching otherwise. C/C++ compilers do the same thing (I.e. have intimate knowledge of stdlib calls and may optimize more aggressively or replace code with intrinsic altogether). In this case, jit uses the bsf x86 assembly instruction whereas hand rolled

Re: Are java.lang classes better served by the JVM?

2012-09-28 Thread Vitaly Davidovich
Yes, the JIT has intrinsic knowledge of some JDK classes and their methods, and emits optimized code - Integer has several intrinsics. Look at src/share/vm/opto/library_call.cpp Cheers Sent from my phone On Sep 28, 2012 10:51 AM, "Raffaello Giulietti" < raffaello.giulie...@gmail.com> wrote: > H

Re: TaggedArrays (Proposal)

2012-07-07 Thread Vitaly Davidovich
Here's a blog post from John Rose explaining that exception throwing compiles to a goto in cases like this: https://blogs.oracle.com/jrose/entry/longjumps_considered_inexpensive Sent from my phone On Jul 7, 2012 2:43 PM, "Rémi Forax" wrote: > On 07/07/2012 07:02 PM, Dain Sundstrom wrote: > > On

Re: 7127687: MethodType leaks memory due to interning

2012-03-29 Thread Vitaly Davidovich
ashMap/WeakHashSet. Maybe WeakInterner > may be more appropriate. > > "although possibly different instance" is THE thing. We only want one > instance of each MethodType in the environment so that MethodType.equals is > a simple == test. > > On 2012-03-29, at 9:

Re: 7127687: MethodType leaks memory due to interning

2012-03-29 Thread Vitaly Davidovich
> > I tried using WeakHashMap initially but then realized the implications. > WeakHashSet is useless, since it uses WeakHashMap, making it not weak at > all. > > This fix has been well tested, as it is integrated in our test system (4 > times a day on several different platfor

Re: 7127687: MethodType leaks memory due to interning

2012-03-28 Thread Vitaly Davidovich
; Sent from my iPhone 4 > > On 2012-03-28, at 9:42 PM, Vitaly Davidovich wrote: > > Hi John, > > I think you can use diamond generic inference when declaring the weak > intern set. > > Also any reason you didn't use WeakHashMap directly with dummy value to > simula

Re: 7127687: MethodType leaks memory due to interning

2012-03-28 Thread Vitaly Davidovich
Hi John, I think you can use diamond generic inference when declaring the weak intern set. Also any reason you didn't use WeakHashMap directly with dummy value to simulate the set? Or wrap the WeakHashMap and synchronize the accessors to it? Sent from my phone On Mar 28, 2012 7:52 PM, "John Rose

Re: Fast long overflow detection?

2012-02-07 Thread Vitaly Davidovich
Can't the overflow test be (value ^ result) & (otherValue ^ result) < 0? I think that's what hacker's delight suggests and you don't need the negation and the sign bit mask in that case. Sent from my phone On Feb 7, 2012 3:31 PM, "Charles Oliver Nutter" wrote: > The JRuby logic mimics what I thi