Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v19]

2022-05-26 Thread liach
On Thu, 31 Mar 2022 18:48:39 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v17]

2022-03-29 Thread ExE Boss
On Tue, 29 Mar 2022 15:56:37 GMT, Jim Laskey wrote: >> doesn't the compiler (either javac or hotspot) automatically do that? > > Yes, the compilers handle this. I did however switch to > > > primitiveCount != 0 ? new long[(primitiveCount + 1) / > LONG_SLOTS] : null; > do

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v18]

2022-03-29 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v17]

2022-03-29 Thread Jim Laskey
On Tue, 29 Mar 2022 15:49:51 GMT, liach wrote: >> src/java.base/share/classes/java/lang/runtime/Carrier.java line 335: >> >>> 333: CarrierArray(int primitiveCount, int objectCount) { >>> 334: this.primitives = >>> 335: primitiveCount != 0 ? new lon

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v17]

2022-03-29 Thread liach
On Tue, 29 Mar 2022 13:58:56 GMT, ExE Boss wrote: >> Jim Laskey has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Add condy static methods > > src/java.base/share/classes/java/lang/runtime/Carrier.java line 335: > >> 333: Carr

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v17]

2022-03-29 Thread ExE Boss
On Tue, 29 Mar 2022 13:49:37 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v17]

2022-03-29 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v16]

2022-03-29 Thread Jim Laskey
On Mon, 28 Mar 2022 20:32:02 GMT, ExE Boss wrote: >> Jim Laskey has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Clean up @return > > src/java.base/share/classes/java/lang/runtime/Carrier.java line 330: > >> 328: * Construct

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v16]

2022-03-28 Thread ExE Boss
On Mon, 28 Mar 2022 18:09:29 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v16]

2022-03-28 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v15]

2022-03-28 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v14]

2022-03-28 Thread Jim Laskey
On Mon, 28 Mar 2022 13:11:37 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v14]

2022-03-28 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v13]

2022-03-28 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v12]

2022-03-22 Thread ExE Boss
On Tue, 22 Mar 2022 13:32:18 GMT, liach wrote: >> Jim Laskey has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fix spacing on if( > > Just curious, when valhalla is out, does the specification of Carrier allow > the implementation to move

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v11]

2022-03-22 Thread liach
On Tue, 22 Mar 2022 12:56:02 GMT, Jim Laskey wrote: >> src/java.base/share/classes/java/lang/runtime/Carrier.java line 574: >> >>> 572: try { >>> 573: Lookup lookup = MethodHandles.lookup(); >>> 574: return lookup.defineHiddenClass(bytes, false, >>> C

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v12]

2022-03-22 Thread liach
On Tue, 22 Mar 2022 13:00:14 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v11]

2022-03-22 Thread Jim Laskey
On Mon, 21 Mar 2022 18:02:07 GMT, ExE Boss wrote: >> Jim Laskey has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains 18 additional >> commits since t

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v11]

2022-03-22 Thread Jim Laskey
On Tue, 22 Mar 2022 10:20:15 GMT, Daniel Fuchs wrote: >> Jim Laskey has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains 18 additional >> commits sin

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v11]

2022-03-22 Thread Jim Laskey
On Mon, 21 Mar 2022 14:24:30 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v12]

2022-03-22 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v11]

2022-03-22 Thread Daniel Fuchs
On Mon, 21 Mar 2022 14:24:30 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v11]

2022-03-21 Thread John Rose
On 21 Mar 2022, at 11:05, ExE Boss wrote: > Actually, this lookup object should probably be kept cached. +1. Good “cache”.

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v11]

2022-03-21 Thread ExE Boss
On Mon, 21 Mar 2022 14:24:30 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v11]

2022-03-21 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v10]

2022-03-21 Thread Jim Laskey
On Mon, 21 Mar 2022 07:29:21 GMT, ExE Boss wrote: >> The package is java.lang.runtime not java.lang.invoke so both fields are not >> accessible. > > Well, you could use `SharedSecrets.getJavaLangInvokeAccess().findStatic(…)` > and `SharedSecrets.getJavaLangInvokeAccess().findVirtual(…)` in plac

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v10]

2022-03-21 Thread ExE Boss
On Mon, 21 Mar 2022 06:29:53 GMT, Rémi Forax wrote: >> src/java.base/share/classes/java/lang/runtime/Carrier.java line 309: >> >>> 307: static { >>> 308: LOOKUP = MethodHandles.lookup(); >>> 309: UNSAFE = Unsafe.getUnsafe(); >> >> It might be better to use `java.

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v10]

2022-03-20 Thread Rémi Forax
On Mon, 21 Mar 2022 05:17:31 GMT, ExE Boss wrote: >> Jim Laskey has updated the pull request incrementally with three additional >> commits since the last revision: >> >> - Typos >> - Update Carrier.java >> - Redo API to use list, bring Carrier.component back > > src/java.base/share/classes/

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v10]

2022-03-20 Thread ExE Boss
On Fri, 18 Mar 2022 16:16:31 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v10]

2022-03-18 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v9]

2022-03-18 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v8]

2022-03-18 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v5]

2022-03-13 Thread Glavo
On Fri, 11 Mar 2022 16:53:12 GMT, Jim Laskey wrote: > That might be more in the realm of Valhalla. This is more for capturing > arguments from vararg bootstrap methods. But, I can see your use case. Speaking of Valhalla, this also seems likely to be the basis for specialized generics……All in a

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v7]

2022-03-11 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v6]

2022-03-11 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v5]

2022-03-11 Thread Jim Laskey
On Fri, 11 Mar 2022 15:17:30 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v5]

2022-03-11 Thread Jim Laskey
On Fri, 11 Mar 2022 15:44:49 GMT, Maurizio Cimadamore wrote: >> Jim Laskey has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Use long array for primitives >> - Use long arrays for primitives > > src/java.base/share/classes/java/lang/ru

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v5]

2022-03-11 Thread Jim Laskey
On Fri, 11 Mar 2022 15:53:08 GMT, Maurizio Cimadamore wrote: >> src/java.base/share/classes/java/lang/runtime/Carrier.java line 380: >> >>> 378: } >>> 379: >>> 380: return Unsafe.ARRAY_LONG_BASE_OFFSET + >> >> Shouldn't you add the offset of the first `int` val

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v5]

2022-03-11 Thread Glavo
On Fri, 11 Mar 2022 15:17:30 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v5]

2022-03-11 Thread Maurizio Cimadamore
On Fri, 11 Mar 2022 15:17:30 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v5]

2022-03-11 Thread Maurizio Cimadamore
On Fri, 11 Mar 2022 15:48:37 GMT, Maurizio Cimadamore wrote: >> Jim Laskey has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Use long array for primitives >> - Use long arrays for primitives > > src/java.base/share/classes/java/lang/ru

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v4]

2022-03-11 Thread Jim Laskey
On Fri, 11 Mar 2022 10:58:23 GMT, Maurizio Cimadamore wrote: >> Jim Laskey has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Leave public for the time being > > src/java.base/share/classes/java/lang/runtime/Carrier.java line 48: > >> 46:

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v4]

2022-03-11 Thread Jim Laskey
On Thu, 10 Mar 2022 22:53:39 GMT, Jim Laskey wrote: >> src/java.base/share/classes/java/lang/runtime/Carrier.java line 346: >> >>> 344: * Carrier for longs and integers. >>> 345: */ >>> 346: private final int[] integers; >> >> I believe (@rose00 correct me

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v5]

2022-03-11 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v4]

2022-03-11 Thread Jim Laskey
On Fri, 11 Mar 2022 10:42:02 GMT, Maurizio Cimadamore wrote: >> Jim Laskey has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Leave public for the time being > > src/java.base/share/classes/java/lang/runtime/Carrier.java line 57: > >> 55:

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v4]

2022-03-11 Thread Maurizio Cimadamore
On Thu, 10 Mar 2022 19:35:16 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v4]

2022-03-10 Thread Jim Laskey
On Thu, 10 Mar 2022 22:29:48 GMT, Maurizio Cimadamore wrote: >> Jim Laskey has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Leave public for the time being > > src/java.base/share/classes/java/lang/runtime/Carrier.java line 346: > >> 34

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v4]

2022-03-10 Thread Maurizio Cimadamore
On Thu, 10 Mar 2022 19:35:16 GMT, Jim Laskey wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> require obje

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v4]

2022-03-10 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v3]

2022-03-10 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier [v2]

2022-03-09 Thread Jim Laskey
> We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects containing two integer fields, then Carrier will ensur

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-09 Thread Jim Laskey
On Tue, 8 Mar 2022 14:02:39 GMT, Jim Laskey wrote: > We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects c

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread John Rose
On 8 Mar 2022, at 11:53, Jim Laskey wrote: >> I'm not sure I see anything here that would prevent the user from building a >> carrier and casting to Object[] ? > Clarified the comment. You are right. When I reworked the original code I > dropped the intermediate object. For my purposes, it was

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Brian Goetz
MethodType is a useful shape for describing a pattern, in reverse; the “parameter” types are really the pattern bindings, and the “return” type is really the (minimal) type of the target. With such a description, the MethodType for a pattern is the right input to get the carrier for the pattern

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Jim Laskey
On Tue, 8 Mar 2022 16:00:48 GMT, Maurizio Cimadamore wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> req

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Jim Laskey
On Tue, 8 Mar 2022 16:51:22 GMT, John R Rose wrote: >> src/java.base/share/classes/java/lang/runtime/Carrier.java line 48: >> >>> 46: >>> 47: /** >>> 48: * This class is used to create objects that have number and types of >> >> The class javadoc seems a bit on the thin side. I would say som

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Jim Laskey
On Tue, 8 Mar 2022 15:48:56 GMT, Maurizio Cimadamore wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> req

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Jim Laskey
On Tue, 8 Mar 2022 15:50:22 GMT, Maurizio Cimadamore wrote: >> src/java.base/share/classes/java/lang/runtime/Carrier.java line 432: >> >>> 430: * Construct a new object carrier class based on shape. >>> 431: * >>> 432: * @param carrierShape shape of carrier >> >> Su

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Jim Laskey
On Tue, 8 Mar 2022 15:40:10 GMT, Maurizio Cimadamore wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> req

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Brian Goetz
It is a base assumption that the specific representation — bits in an int[], a class per shape, a cache of common shapes, etc — is a pure implementation detail that can be changed at will, based on various tradeoffs like footprint-vs-startup that can be made at any time. The only assumption is

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Kasper Nielsen
> > > Agreed. Also, this class is unusual in that it is not instantiated; like > `Arrays` or `Collections` it is a (small) bundle of static factories (or > are they algorithms?). I think as such it should be called `Carriers`. > I don't know if it is still the plan. But there was talk about addi

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Jens Li
On Tue, 8 Mar 2022 14:02:39 GMT, Jim Laskey wrote: > We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects c

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread forax
- Original Message - > From: "Brian Goetz" > To: "Remi Forax" > Cc: "Jim Laskey" , "core-libs-dev" > > Sent: Tuesday, March 8, 2022 4:37:41 PM > Subject: Re: RFR: JDK-8282798 java.lang.runtime.Carrier > You keep saying “what

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Remi Forax
- Original Message - > From: "John R Rose" > To: "core-libs-dev" > Sent: Tuesday, March 8, 2022 5:55:00 PM > Subject: Re: RFR: JDK-8282798 java.lang.runtime.Carrier > On Tue, 8 Mar 2022 15:59:59 GMT, Maurizio Cimadamore > wrote: > >>>

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread John R Rose
On Tue, 8 Mar 2022 15:59:59 GMT, Maurizio Cimadamore wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> req

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Maurizio Cimadamore
On Tue, 8 Mar 2022 14:02:39 GMT, Jim Laskey wrote: > We propose to provide a runtime anonymous carrier class object generator; > java.lang.runtime.Carrier. This generator class is designed to share > anonymous classes when shapes are similar. For example, if several clients > require objects c

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Maurizio Cimadamore
On Tue, 8 Mar 2022 15:49:46 GMT, Maurizio Cimadamore wrote: >> We propose to provide a runtime anonymous carrier class object generator; >> java.lang.runtime.Carrier. This generator class is designed to share >> anonymous classes when shapes are similar. For example, if several clients >> req

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Brian Goetz
You keep saying “what we need”. But really, what I think you mean is “what the scheme I have in mind needs.” Can we try and separate these out? I don’t think any of these are *needed*, but maybe you want to make the argument that you have a better scheme in mind, and we should choose that sch

Re: RFR: JDK-8282798 java.lang.runtime.Carrier

2022-03-08 Thread Remi Forax
Hi Jim, I believe that there is a mismatch about what is needed for the pattern matching and the API you propose. The Carrier API allows to map one tuple of types to one storage representation based on ints, longs and references. But what we need is to have several shapes for the same storage, m