Hi Charlie,
Thanks for the details. I quickly logged:
https://bugs.openjdk.java.net/browse/JDK-8264288
I don’t have time to dive into the details right now. Perhaps next week, or
hopefully someone else can.
Paul.
> On Mar 25, 2021, at 9:25 PM, Charles Oliver Nutter
> wrote:
>
> JRuby
At some point in the future it may be possible, with the constant folding work,
to express the declaration of a MH locally but it gets stuffed in the constant
pool (see amber constant-folding) if what the MH is derived from is constant.
e.g. think of a language compiler intrinsic for ldc. That
Hi Peter,
> On 27 May 2016, at 12:41, Peter Levart <peter.lev...@gmail.com> wrote:
>
> Hi Paul,
>
> On 05/26/2016 01:20 PM, Paul Sandoz wrote:
>> Hi Peter,
>>
>> Opportunistically if your LinearProbeHashtable works out then i am wondering
>&
> On 19 Nov 2015, at 22:16, Michael Haupt wrote:
>
> Hi John, Paul,
>
> thanks for your reviews - they have helped me polish the code and
> documentation some more and add some more tests. The result is at
> http://cr.openjdk.java.net/~mhaupt/8139885/webrev.02
>
HI Michael,
Nice work, not easy this area!
It may be worth considering, as a separate issue, updating the example section
in JavaDoc to be under @apiNote.
I have a mild preference to maintain the 80 char limit for JavaDoc, to me it’s
easier to read. For code i don’t mind a 100 or more limit.
> On 12 Nov 2015, at 02:37, John Rose wrote:
>
> On Nov 11, 2015, at 12:35 AM, Marcus Lagergren wrote:
>>
>> bare silicone magic
>
> That extra E moves the venue from Santa Clara to Las Vegas.
LOL :-)
"So now, less than five years later, you
> On 25 Sep 2015, at 17:19, Peter Levart <peter.lev...@gmail.com> wrote:
>
> Hi Paul,
>
> Thanks for looking into this.
>
Apologies for the late reply.
> On 09/25/2015 04:07 PM, Paul Sandoz wrote:
>> Hi,
>>
>> This looks like a partial dup of
Hi,
This looks like a partial dup of
https://bugs.openjdk.java.net/browse/JDK-8076596
The changes look ok, but I am concerned post initialization there may be code
paths taken that require the system class loader to be used but instead the
boot stream class loader is used instead. Is that a
On Apr 23, 2015, at 5:12 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
https://bugs.openjdk.java.net/browse/JDK-8059455
http://cr.openjdk.java.net/~vlivanov/8059455/webrev.00/
LambdaForm.compileToBytecode() does unnecessary work (constructs invokerType
check an assertion)
Hi Peter,
We did consider supporting field and method literals in 9, leveraging the same
syntax as for method references combined with target typing. But, we have
currently concluded it would be best to punt it to post-9.
As a result there is currently no compelling need to support
On Apr 20, 2015, at 4:40 PM, Remi Forax fo...@univ-mlv.fr wrote:
On 04/20/2015 11:06 AM, Paul Sandoz wrote:
Hi Peter,
We did consider supporting field and method literals in 9, leveraging the
same syntax as for method references combined with target typing. But, we
have currently
Hi Remi,
I am always impressed by the ability of MHs, and your ability to use them :-)
With the API you have defined in the VarHandle2 class located in j.l.invoke i
strongly suspect you do not need to use method handles. The public methods
could directly use casts/null-checks and Unsafe.
On Mar 17, 2015, at 8:24 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul,
A call to the following:
Object o = rmh.invokeExact((MethodHandle) null, new Object[]{});
Will result in a:
java.lang.UnsupportedOperationException: cannot reflectively invoke
MethodHandle
On Feb 26, 2015, at 7:14 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8073644/webrev.00
https://bugs.openjdk.java.net/browse/JDK-8073644
After JDK-8069591 [1] which introduced LambdaForm customization, the assert
in
On Jan 12, 2015, at 7:06 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul,
Thanks for the review!
Look good, +1,
Paul.
Updated webrev:
http://cr.openjdk.java.net/~vlivanov/8067344/webrev.02
70 TestMethods testCase = getTestMethod();
71 if
Hi
70 TestMethods testCase = getTestMethod();
71 if (testCase == TestMethods.EXACT_INVOKER || testCase ==
TestMethods.INVOKER) {
72 // Invokers aren't collected.
73 return;
74 }
Can you just filter those test cases
On Dec 9, 2014, at 12:47 AM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8066746/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8066746
Looks ok.
Curiously, is there a reason why you chose to use MH.invokeWithArguments rather
than
On Dec 6, 2014, at 1:30 PM, Peter Levart peter.lev...@gmail.com wrote:
Now what scares me (might be that I don't have an intimacy with LambdaForm
class like you do). There is a situation where you publish LambdaForm
instances via data race.
One form of LambdaForm.transformCache is an array
On Dec 2, 2014, at 5:20 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Thanks, Paul!
Updated webrev in place.
+1.
Paul.
signature.asc
Description: Message signed with OpenPGP using GPGMail
___
mlvm-dev mailing list
Hi Igor,
This looks ok.
I like how you have factored out things into TimeLimitedRunner. Do you plan in
a future patch to update lambda form test code that uses similar functionality?
Is the adjustment timeout *= 0.9 necessary? does reduction by 10% make a
difference?
Paul.
On Nov 29, 2014,
On Nov 19, 2014, at 11:24 AM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Aleksey, Duncan, thanks for the review and the confirmation that it doesn't
break stuff for you.
Any Reviews, please? :-)
Looks good.
Best regards,
Vladimir Ivanov
On 11/19/14, 2:23 PM, MacGregor,
On Nov 19, 2014, at 10:30 AM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Hm, I remember I fixed that long time ago... Seems like I chose a stale
patch. Sorry for that. Updated webrev in place.
+1
Paul.
signature.asc
Description: Message signed with OpenPGP using GPGMail
On Oct 18, 2014, at 6:59 PM, Peter Levart peter.lev...@gmail.com wrote:
Hi Paul, Remi,
The complete solution will require new API, but the java.lang.reflect.Proxy
API could be improved a bit too. With introduction of default interface
methods it is somehow broken now. Default interface
On Oct 16, 2014, at 12:43 PM, Remi Forax fo...@univ-mlv.fr wrote:
On 10/15/2014 06:54 PM, Paul Sandoz wrote:
Hi Remi,
I did some brief evaluation of this area.
MethodHandleProxies.asInterfaceInstance currently does not support proxying
to default methods. An InternalError
On Oct 14, 2014, at 8:54 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul,
Thanks for the feedback!
Updated version:
http://cr.openjdk.java.net/~vlivanov/8059877/webrev.01/
http://cr.openjdk.java.net/~vlivanov/8059877/webrev.00/
On Sep 19, 2014, at 11:54 AM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Looks good.
Small typo in the comment:
s/filed/field
Otherwise +1,
Paul.
Best regards,
Vladimir Ivanov
On 9/19/14, 1:50 PM, Konstantin Shefov wrote:
Hello,
Please review the test bug fix
inline answers.
Igor
On 09/11/2014 05:12 PM, Paul Sandoz wrote:
On Sep 5, 2014, at 7:52 PM, Konstantin Shefov konstantin.she...@oracle.com
wrote:
Hello,
Please review the new tests for the feature Lambda Form Reduction and
Caching https://bugs.openjdk.java.net/browse/JDK-8046703
On Sep 5, 2014, at 7:52 PM, Konstantin Shefov konstantin.she...@oracle.com
wrote:
Hello,
Please review the new tests for the feature Lambda Form Reduction and
Caching https://bugs.openjdk.java.net/browse/JDK-8046703
JBS task: https://bugs.openjdk.java.net/browse/JDK-8057719
Webrev:
On Sep 5, 2014, at 6:42 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8057656/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8057656
854 if (!canConvert(returnType(), newType.returnType()))
855 return false;
856
On Sep 5, 2014, at 12:12 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8057657/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8057657
- BoundMethodHandle
57 assert(speciesData() == speciesData(form));
I am missing some context
On Sep 9, 2014, at 12:51 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8057922/webrev.00
https://bugs.openjdk.java.net/browse/JDK-8057922
Introduce more sharing on LambdaForm level by rewriting most of the MH
combinators using
On Sep 9, 2014, at 3:39 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul, thanks for review!
+1
Paul.
Updated webrev in place.
http://cr.openjdk.java.net/~vlivanov/8057922/webrev.00
https://bugs.openjdk.java.net/browse/JDK-8057922
Introduce more sharing on LambdaForm
+1 to both.
On Sep 9, 2014, at 3:22 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8057657/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8057657
- BoundMethodHandle
57 assert(speciesData() == speciesData(form));
I am
On Sep 5, 2014, at 1:25 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul, thanks for review.
Generally looks good (re: Peter's observation of continue/break).
- LambdaFormEditor
61 private static final class Transform {
62 final long packedBytes;
63
On Sep 5, 2014, at 3:15 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Looks good, just one comment.
MethodHandles.restrictReceiver
This method has:
1578 private MethodHandle restrictReceiver(MemberName method,
MethodHandle mh, Class? caller) throws
On Sep 2, 2014, at 3:59 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Webrev: http://cr.openjdk.java.net/~vlivanov/8057042/webrev.00
Generally looks good (re: Peter's observation of continue/break).
- LambdaFormEditor
61 private static final class Transform {
62
On Sep 1, 2014, at 12:29 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Thanks, Paul.
There's no need to add @ForceInline on selectAlternative.
It is used only during LF interpretation. There's an intrinsic for GWT
combinator, which encodes it as a branch (see
On Aug 29, 2014, at 12:45 AM, John Rose john.r.r...@oracle.com wrote:
On Aug 28, 2014, at 7:38 AM, Paul Sandoz paul.san...@oracle.com wrote:
On Jul 8, 2014, at 9:09 PM, John Rose john.r.r...@oracle.com wrote:
Regarding the extra cast in accessor logic that Paul picked up on: That
may
On Jul 8, 2014, at 9:09 PM, John Rose john.r.r...@oracle.com wrote:
Regarding the extra cast in accessor logic that Paul picked up on: That may
be a left-over from obsolete versions of the code, or it may cover for some
corner cases, or it could possibly be a re-assurance to the JIT.
I
I have logged the following issue for redundant null checks:
https://bugs.openjdk.java.net/browse/JDK-8054492
Paul.
signature.asc
Description: Message signed with OpenPGP using GPGMail
___
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
On Jul 18, 2014, at 4:02 AM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
ValueConversions
I can see why an EnumMap is used for convenience mapping the Wrapper to MH.
IIUC it means the MH ref values are not @Stable? I guess it would be easy to
unpack into an explicit array and
On Jul 16, 2014, at 6:28 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050877/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8050877
Improved MethodHandleImpl.makePairwiseConvert ValueConversions.unbox and
small cleanups in related
On Jul 16, 2014, at 6:44 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050884/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8050884
Replace ValueConversions.identity() functions with intrinsics.
Testing: jdk/java/lang/invoke,
On Jul 16, 2014, at 6:57 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050887/webrev.00
https://bugs.openjdk.java.net/browse/JDK-8050887
Intrinsify MethodHandles.constant() for default values.
Testing: jdk/java/lang/invoke,
On Jul 15, 2014, at 3:48 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Update: http://cr.openjdk.java.net/~vlivanov/8050053/webrev.01
Diff: http://cr.openjdk.java.net/~vlivanov/8050053/webrev.diff.00-01/
Got rid of varargs spread invokers.
+1
Paul.
signature.asc
On Jul 15, 2014, at 3:42 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Another update:
http://cr.openjdk.java.net/~vlivanov/8050052//webrev.01/
Tentative diff:
http://cr.openjdk.java.net/~vlivanov/8050052/webrev.diff.01-02/
+1
Paul.
signature.asc
Description: Message
On Jul 14, 2014, at 4:04 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050166/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8050166
Get rid of the following methods in j.l.i.MethodHandle:
* convertArguments(MethodType newType)
*
On Jul 14, 2014, at 4:37 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050173/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8050173
Added j.l.i.MethodHandle.copyWith(MethodType, LambdaForm) and provided
implementation for all
On Jul 14, 2014, at 4:47 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050174/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8050174
Support overriding of isInvokeSpecial flag in WrappedMember.
Testing: jdk/java/lang/invoke,
On Jul 14, 2014, at 5:17 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050057/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8050057
Cache MethodHandle reinvokers per basic type.
For BoundMethodHandles, rebinding is no-op unless
On Jul 14, 2014, at 7:10 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050200/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8050200
Replace pattern matching sequences of LambdaForm names during compilation
with explicit marks on
On Jul 16, 2014, at 12:53 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul, thanks for review.
On 7/16/14 12:34 PM, Paul Sandoz wrote:
On Jul 14, 2014, at 4:04 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050166/webrev.00
On Jul 11, 2014, at 6:18 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050052/webrev.00
https://bugs.openjdk.java.net/browse/JDK-8050052
Numerous small code cleanups in java.lang.invoke package.
Testing: jtreg, nashorn, octane w/ -ea -esa
On Jul 11, 2014, at 6:35 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
http://cr.openjdk.java.net/~vlivanov/8050053/webrev.00
https://bugs.openjdk.java.net/browse/JDK-8050053
Improve sharing of different invokers: basic, generic exact invokers,
uninitialized call site invoker
On Jul 8, 2014, at 9:09 PM, John Rose john.r.r...@oracle.com wrote:
Regarding the extra cast in accessor logic that Paul picked up on: That may
be a left-over from obsolete versions of the code, or it may cover for some
corner cases, or it could possibly be a re-assurance to the JIT.
On Jul 8, 2014, at 12:09 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
I'd like to revive review this review thread.
Updated version:
http://cr.openjdk.java.net/~vlivanov/8038261/webrev.03/
+1
Paul.
signature.asc
Description: Message signed with OpenPGP using GPGMail
On Jul 8, 2014, at 12:40 PM, Paul Sandoz paul.san...@oracle.com wrote:
On Jul 8, 2014, at 12:09 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
I'd like to revive review this review thread.
Updated version:
http://cr.openjdk.java.net/~vlivanov/8038261/webrev.03/
+1
On Jul 8, 2014, at 12:09 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
I'd like to revive this review thread.
Updated version:
http://cr.openjdk.java.net/~vlivanov/8037209/webrev.04/
Seems ok. I don't claim to be knowledgable enough in the finer points of
On Jun 6, 2014, at 1:17 AM, John Rose john.r.r...@oracle.com wrote:
Reviewed.
This is not a requirement, but I would prefer (in general) to see less test
logic in ASM-generated bytecode and more in Java. I am guessing that the
invokeExact call could have been replaced by a simple
On Jun 4, 2014, at 5:25 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
https://bugs.openjdk.java.net/browse/JDK-8032400
http://cr.openjdk.java.net/~vlivanov/8032400/webrev.00/
Consider the following hierarchy:
class T1{int m() { return 1; }}
class T2
On Apr 25, 2014, at 12:04 PM, Peter Levart peter.lev...@gmail.com wrote:
This is a ping for any Reviewer and also a question for Vladimir.
Hello Vladimir,
What do you think about the classloader issue in the resolving of classes in
MemberName.getMethodType() described below?
I looked
Hi Peter,
IMHO such security manager usage by the test is v. fragile and we should try
and find a safer alternative if possible.
However, there may also be an issue with lambda form code. (About a month ago i
too was looking, internally, at this kind of issue and thought there was a
On Apr 8, 2014, at 1:53 AM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Thanks, Chris.
I have to do one more iteration:
http://cr.openjdk.java.net/~vlivanov/8037210/webrev.05/
I have to revert changes related to BMH::reinvokerTarget.
Removal of reinvokerTarget in generated
On Apr 1, 2014, at 6:21 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
On 4/1/14 7:29 PM, Paul Sandoz wrote:
On Apr 1, 2014, at 4:10 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul,
Unfortunately, additional profiling doesn't work for Accessor.checkCast
case
On Apr 2, 2014, at 4:16 PM, Paul Sandoz paul.san...@oracle.com wrote:
Regarding redundant null check, do you have a test case so I can play with
it myself?
I will send something to you later today or tomorrow.
Still plan to send you something today :-) but later on...
See below
Hi Vladimir,
This looks good. Minor stuff below.
I too prefer *_TYPE instead of Int/Float/Void etc as those are not v. friendly
for static imports.
Paul.
LambaForm:
--
private static int fixResult(int result, Name[] names) {
if (result == LAST_RESULT)
result =
On Mar 14, 2014, at 5:36 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Doh! crossed webrevs, thanks.
Just had a quick look, this looks like a really nice improvement to the
array setter/getter support, definitely simplified. IIUC the mh.viewAsType
will now handle the appropriate
On Apr 1, 2014, at 4:10 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul,
Unfortunately, additional profiling doesn't work for Accessor.checkCast case.
The problem is Accessor.checkCast is called from multiple places, so type
profile is very likely to be polluted. And it
On Apr 1, 2014, at 3:57 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul, thanks for review.
Updated webrev:
http://cr.openjdk.java.net/~vlivanov/8037210/webrev.04/
+1
Paul.
signature.asc
Description: Message signed with OpenPGP using GPGMail
On Mar 14, 2014, at 1:19 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
FYI, this change isn't limited to only bytecode assembly improvements, but
also contains caching of lambda forms for setters/getter of typed arrays.
Do you mean for MethodHandles.arrayElementGetter/Setter? If
On Feb 20, 2014, at 6:57 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul,
Thanks for the feedback! See my answers inline.
Updated webrev:
http://cr.openjdk.java.net/~vlivanov/8027827/final/webrev.01/
I finally figured out how to make caching work. This webrev contains
Hi Vladimir,
I know just enough about this area to be dangerous
src/share/classes/java/lang/invoke/BoundMethodHandle.java
865 private static final SpeciesData[] SPECIES_DATA_CACHE = new
SpeciesData[4];
Only 3 elements are stored in the above array?
On Jan 31, 2014, at 3:21 PM, Vladimir Ivanov vladimir.x.iva...@oracle.com
wrote:
Paul,
The transformation you suggest is equivalent, but I reluctant to apply it.
IMO, it doesn't add much value and current version is easier to read.
OK, i guess we will just have to agree to disagree on
73 matches
Mail list logo