Coordinated Restore at Checkpoint: A new project for start-up optimization?

2020-09-10 Thread Gil Tene
Hello, We would like to open a discussion about a new project focused on "Coordinated Restore at Checkpoint". A possible relevant project name might be Tubthumpting [9]. Over the years, we [at Azul] have tinkered with various ways to improve java start-up time and warmup behavior for different u

Re: RFR: 8188055: (ref) Add Reference.refersTo predicate

2020-04-08 Thread Gil Tene
sTo > with random() and brute force). So if you can create an exploit based on the > answer of refersTo, then your system is secure by chance. In other words, it > is already compromised. Or have I missed something? > > Thanks, > /Erik > >> On 8 Apr 2020, at 18:05, Gil Tene w

Re: RFR: 8188055: (ref) Add Reference.refersTo predicate

2020-04-08 Thread Gil Tene
referred to from the PhantomReference. But in terms of > security, you could also have just guessed that without this API, as you > already have full access to the objects. Sounds like a classic case of "I > have an exploit. Given a compromised system... X". Or have I missed so

Re: RFR: 8188055: (ref) Add Reference.refersTo predicate

2020-04-08 Thread Gil Tene
A very welcome change overall. However, I have concerns about the semantic change to the PhantomReference specification. I propose that PhantomReference semantics remain unchanged, and that PhantomReference:RefersTo should return true only for null. See more in comment at https://bugs.openjdk.jav

Re: RFR 9: 8165641 : Deprecate Object.finalize

2017-04-15 Thread Gil Tene
IMO, so long as the JDK's own performance-sensitive methods do not follow this advice, it will be hard to "educate" people to use reachabilityFence responsibly. To be specific: As long as java.nioDirectByteBuffer.get() is effectively coded like this (after the templates are applied): publ

Re: [concurrency-interest] Spin Loop Hint support: Draft JEP proposal

2016-02-23 Thread Gil Tene
t; this different from Thread::yield or any of the other mentioned examples? >>> This is splitting hairs perhaps but there's no onXXX precedent to follow >>> and this just throws an oddly looking method name into the mix. >>> >>>> "onSpinWait" is t

Re: [concurrency-interest] Spin Loop Hint support: Draft JEP proposal

2016-02-23 Thread Gil Tene
> On Feb 22, 2016, at 10:11 AM, mark.reinh...@oracle.com wrote: > > 2016/1/28 9:25 -0800, g...@azul.com: >> This thread seems to have "hopped away" to the concurrency-interest >> list in mid-Dec-2015. This posting is intended to capture a summary of >> reasoning and some of the discussion there s

Re: [concurrency-interest] Spin Loop Hint support: Draft JEP proposal

2016-01-28 Thread Gil Tene
oving from Thread.SpinLoopHint to Runtime.onSpinWait: From Gil Tene, on Tue, Dec 1, 2015 at 3:45 PM > … > Thread.spinLoopHint() was my first choice as well. But I was swayed by strong > arguments against "hint" in the method name. Including the lack of "action" > and ambigui

Re: RFR(XS): 8147844: new method j.l.Runtime.onSpinWait()

2016-01-28 Thread Gil Tene
> On Jan 28, 2016, at 8:51 AM, mark.reinh...@oracle.com wrote: > > 2016/1/28 8:12 -0800, Gil Tene : >> On Jan 27, 2016, at 9:41 PM, David Holmes wrote: >>> On 27/01/2016 11:31 PM, Ivan Krylov wrote: >>>> Earlier there was a discussion on this mail alias about

Re: RFR(XS): 8147844: new method j.l.Runtime.onSpinWait()

2016-01-28 Thread Gil Tene
> On Jan 27, 2016, at 9:41 PM, David Holmes wrote: > > HI Ivan, > > On 27/01/2016 11:31 PM, Ivan Krylov wrote: >> Hello, >> >> Earlier there was a discussion on this mail alias about the spin loop >> hint proposal [1]. Based on the feedback from that discussion some >> changes were incorporate

Re: RFR [9] 8148117: Move sun.misc.Cleaner to jdk.internal.ref

2016-01-25 Thread Gil Tene
I assume your goal here is to get the resources released with the next newgen collections (following a close()), rather than wait for an oldgen (if the resource was held by an old object). That's a cool thing. With that in mind, you can replace the repeated periodic polling/flipping/allocation

Re: Ephemerons

2016-01-24 Thread Gil Tene
that an actual reverse reference mapping scheme is fairly simple to implement, and is both "simpler" in many ways and would result in less GC work (no false positive checks forced on ephemerons when marking happens to hit them with a hash), I'd stick with that... > > Hm, ..

Re: Ephemerons

2016-01-24 Thread Gil Tene
9-dev repositories (after the bulk of > merges for jdk-9+102), but still contains the change to remove the Cleaner > reference type as it has not yet managed to get in... > > I have also added a test that is a start for verifying the functionality. > > Regards, Peter > > On 01/23/20

Re: Ephemerons

2016-01-23 Thread Gil Tene
> On Jan 23, 2016, at 5:14 AM, Peter Levart wrote: > > Hi Gil, it's good to have this discussion. See comments inline... > > On 01/23/2016 05:13 AM, Gil Tene wrote: > >>> On Jan 22, 2016, at 2:49 PM, Peter Levart < >>> <mailt

Re: Ephemerons

2016-01-23 Thread Gil Tene
> On Jan 22, 2016, at 2:49 PM, Peter Levart wrote: > > Hi Gil, > > Thanks for taking a look at the Ephemerons for Java. It's great to have a big > mind joining the discussion. > > On 01/22/2016 07:12 PM, Gil Tene wrote: >> Peter, >> >>

Re: Ephemerons

2016-01-22 Thread Gil Tene
> On Jan 22, 2016, at 2:49 PM, Peter Levart wrote: > > Hi Gil, > > Thanks for taking a look at the Ephemerons for Java. It's great to have a big > mind joining the discussion. > > On 01/22/2016 07:12 PM, Gil Tene wrote: >> Peter, >> >>

Re: Ephemerons

2016-01-22 Thread Gil Tene
Peter, I've been following Ephemerons in other GC'ed environments, and wondering when someone will bring it up for Java. Happy to see attentions given to it. The "conditional weak reference hashmap/table/dictionary" use case seems to be a common primary motivator, and it's a very valid one. Giv

Re: [concurrency-interest] Spin Loop Hint support: Draft JEP proposal

2015-11-30 Thread Gil Tene
Update: After some significant back-and-forth between Doug and I on naming and JavaDoc'ing, and with Martin (Thompson) stepping in to help, we have what we think is a good spec and name selection for this thing. We're proposing to add a new static method to the Runtime class: class Runtime { /.

Re: [concurrency-interest] Spin Loop Hint support: Draft JEP proposal

2015-10-29 Thread Gil Tene
ted later in this e-mail, there are other things that the JVM can choose to do to work in the hint's intended direction. > > On 10/15/2015 01:23 PM, Gil Tene wrote: > ... >> >> As noted in my proposed JavaDoc, I see the primary indication of the hint to >> be

Re: [concurrency-interest] Spin Loop Hint support: Draft JEP proposal

2015-10-15 Thread Gil Tene
> On Oct 15, 2015, at 11:32 PM, Doug Lea wrote: > > On 10/14/2015 11:53 PM, Gil Tene wrote: >> I agree on the separation between spin-hinting and monitor-like constructs. >> But not so much on the analogy to or use of the term "yield" to describe what >> is

Re: [concurrency-interest] Spin Loop Hint support: Draft JEP proposal

2015-10-14 Thread Gil Tene
I agree on the separation between spin-hinting and monitor-like constructs. But not so much on the analogy to or use of the term "yield" to describe what is intended y spin hints. On the name choice: things that include the word "yield" vs. spinLoopHint():: While the spinYield() example in your

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-08 Thread Gil Tene
> On Oct 8, 2015, at 6:18 PM, John Rose wrote: > > On Oct 8, 2015, at 12:39 AM, Gil Tene wrote: >> >> On the one hand: >> >> I like the idea of (an optional?) boolean parameter as a means of hinting at >> the thing that may terminate the spi

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-08 Thread Gil Tene
On Oct 7, 2015, at 3:01 PM, John Rose mailto:john.r.r...@oracle.com>> wrote: On Oct 5, 2015, at 2:41 AM, Andrew Haley mailto:a...@redhat.com>> wrote: Hi Gil, On 04/10/15 17:22, Gil Tene wrote: Summary Add an API that would allow Java code to hint that a spin loop is being e

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-07 Thread Gil Tene
Sent from Gil's iPhone > On Oct 7, 2015, at 1:14 AM, Andrew Haley wrote: > >> On 05/10/15 21:43, Gil Tene wrote: >> >> I see SpinLoopHint as very separate from things like MONITOR/WAIT >> (on x86) and WFE/SEV (on ARM), as well as any other "wait i

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-07 Thread Gil Tene
> On Oct 6, 2015, at 6:50 PM, Joseph D. Darcy wrote: > > > On 10/6/2015 6:28 PM, Gil Tene wrote: >>> On Oct 6, 2015, at 1:02 PM, Doug Lea wrote: >>> >>> On 10/04/2015 12:22 PM, Gil Tene wrote: >>>> I would like to circulate this draft

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-06 Thread Gil Tene
> On Oct 6, 2015, at 1:02 PM, Doug Lea wrote: > > On 10/04/2015 12:22 PM, Gil Tene wrote: >> I would like to circulate this draft JEP proposal for initial review and >> consensus building purposes. >> > > Some background: about two years ago, Dave Dice and I

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-06 Thread Gil Tene
> in, why are these on Thread). > > I'd take consistent over bespoke-one-static-method-class, unless there was a > concerted effort to consolidate other related api/concerns. > > Thanks > Moh > >> -Original Message- >> From: core-libs-dev [mailto:

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-06 Thread Gil Tene
Sent from Gil's iPhone > On Oct 6, 2015, at 1:16 AM, Andrew Haley wrote: > >> On 06/10/15 05:32, Gil Tene wrote: >> >> I don't think of this as platform specific. And it's not much lower >> level than e.g. some java.util.concurrent stuff (b

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-05 Thread Gil Tene
> On Oct 5, 2015, at 1:56 AM, Aleksey Shipilev > wrote: > > Hi Gil, > > Glad to see this being addressed! > > On 10/04/2015 07:22 PM, Gil Tene wrote: >> We propose to add a method to the JDK which would be hint that a spin &

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-05 Thread Gil Tene
> On Oct 5, 2015, at 2:04 AM, Alan Bateman wrote: > > On 04/10/2015 17:22, Gil Tene wrote: >> I would like to circulate this draft JEP proposal for initial review and >> consensus building purposes. >> >> I'm cross-posting to both core-libs-dev and ho

Re: Spin Loop Hint support: Draft JEP proposal

2015-10-05 Thread Gil Tene
powerpc/include/asm/spinlock.h?v=2.6.35#L116]. On some CPUs there might not (or not yet) be equivalent operation. A nop would be a valid way to implement it on current ARM. — Gil. > On Oct 5, 2015, at 2:41 AM, Andrew Haley wrote: > > Hi Gil, > > On 04/10/15 17:22, Gil Tene wro

Spin Loop Hint support: Draft JEP proposal

2015-10-04 Thread Gil Tene
core libraries. And intrinsifying implementations would involve changes in HotSpot (see prototype WebRev links included below). Draft JEP follows inline... — Gil. JEP XYZ: Spin Loop Hint (suggested content for some JEP fields): Authors Gil Tene Owner Gil Tene TypeFeature Status Draft Comp