[7u12] Request for approval for CR 8000999: backport of JSR 292 to 7u
Andrew Hughes
ahughes at redhat.com
Mon Oct 22 09:59:57 PDT 2012
----- Original Message -----
>
> On Oct 18, 2012, at 6:48 PM, Seán Coffey <sean.coffey at oracle.com>
> wrote:
>
> > Christian,
> >
> > It is quite a big code change for 7u, one worthy of more testing
> > before integration perhaps. Doesn't this code introduce new
> > dependencies on the VM code ? How are changes progressing for
> > that ? Does hsx24 need to be in jdk7u-dev first ?
>
> hsx24 already has the changes that are required for the new JSR 292
> implementation. In other words: the JDK changes are required
> otherwise jdk7u doesn't work when hsx24 is integrated.
>
> >
> > Have the proposed backports been reviewed for jdk7u ? Even though
> > the fixes are more or less identical to jdk8, I think it's best to
> > get peer reviews in the context of such code fitting into jdk7u.
>
> I didn't get reviews yet and I'm not sure anyone will (given the size
> of the patch).
>
> >
> > Why won't you backport the changes in separate changesets ? This
> > has been common practice in 7u and it makes tracing of code
> > changes easier to analyze. This change is a bulk change for jdk7u
> > [1] - something I can't recall seeing for the jdk repo in the
> > past.
>
> I tried. A changeset-by-changeset backport was non trivial and the
> deadline for PIT testing came closer so we decided to do it as one
> changeset.
>
> In the end the code is the same anyway because we need exactly the
> same classes (except the small diff I posted) in 7u as we have in 8.
>
> If we are willing to postpone to next week's PIT I can bring the
> original changesets over. And if that means no reviews and quick
> approvals then it might be worth it.
>
Please delay. I don't see the need for the rush and I'd rather all of us
didn't have to deal with this humongous changeset.
> -- Chris
>
> >
> > I understand some more PIT testing is going to be run - Let's see
> > how test results look before proceeding.
> >
> > regards,
> > Sean.
> >
> > [1] http://openjdk.java.net/projects/jdk7u/bulkchanges.html
> >
> > On 18/10/2012 12:22, Christian Thalinger wrote:
> >> On Oct 18, 2012, at 12:17 PM, Christian Thalinger
> >> <christian.thalinger at oracle.com> wrote:
> >>
> >>> On Oct 18, 2012, at 12:00 PM, mark.reinhold at oracle.com wrote:
> >>>
> >>>> 2012/10/18 11:54 -0700, christian.thalinger at oracle.com:
> >>>>> Webrev: http://cr.openjdk.java.net/~twisti/8000999/
> >>>>> 8000999: backport of JSR 292 to 7u
> >>>>>
> >>>>> This is an umbrella bug for these changes (which are backported
> >>>>> in one
> >>>>> changeset):
> >>>>>
> >>>>> ...
> >>>> Um, isn't this an awfully big change for what's supposed to be a
> >>>> low-risk
> >>>> update release?
> >>> It's big, indeed. But actually it's a bug fix and it only
> >>> touches JSR 292 related files and functionality.
> >>>
> >>> Since PR decided that HS24 will be used for 7u12 (which I applaud
> >>> to) we need these changes in 7. Otherwise it doesn't work.
> >> I forgot to add the diff between 7 and 8 after this change goes
> >> in. There is also a review request on hotspot-dev.
> >>
> >> -- Chris
> >>
> >> The backport is just copying over the files from JDK 8. That's
> >> why the webrev is so big and pretty useless. The real changes
> >> between 8 and 7 are these:
> >>
> >> diff -Nur
> >> jdk8/src/share/classes/java/lang/invoke/MethodHandleStatics.java
> >> jdk7u/src/share/classes/java/lang/invoke/MethodHandleStatics.java
> >> ---
> >> jdk8/src/share/classes/java/lang/invoke/MethodHandleStatics.java
> >> 2012-10-15 12:21:52.806052959 -0700
> >> +++
> >> jdk7u/src/share/classes/java/lang/invoke/MethodHandleStatics.java
> >> 2012-10-16 10:48:29.728257304 -0700
> >> @@ -94,10 +94,14 @@
> >>
> >> // handy shared exception makers (they simplify the common
> >> case code)
> >> /*non-public*/ static InternalError newInternalError(String
> >> message, Throwable cause) {
> >> - return new InternalError(message, cause);
> >> + InternalError e = new InternalError(message);
> >> + e.initCause(cause);
> >> + return e;
> >> }
> >> /*non-public*/ static InternalError newInternalError(Throwable
> >> cause) {
> >> - return new InternalError(cause);
> >> + InternalError e = new InternalError();
> >> + e.initCause(cause);
> >> + return e;
> >> }
> >> /*non-public*/ static RuntimeException
> >> newIllegalStateException(String message) {
> >> return new IllegalStateException(message);
> >> diff -Nur
> >> jdk8/src/share/classes/sun/invoke/util/ValueConversions.java
> >> jdk7u/src/share/classes/sun/invoke/util/ValueConversions.java
> >> --- jdk8/src/share/classes/sun/invoke/util/ValueConversions.java
> >> 2012-10-16 10:49:36.081911283 -0700
> >> +++ jdk7u/src/share/classes/sun/invoke/util/ValueConversions.java
> >> 2012-10-16 10:48:19.626424849 -0700
> >> @@ -1211,9 +1211,13 @@
> >>
> >> // handy shared exception makers (they simplify the common
> >> case code)
> >> private static InternalError newInternalError(String message,
> >> Throwable cause) {
> >> - return new InternalError(message, cause);
> >> + InternalError e = new InternalError(message);
> >> + e.initCause(cause);
> >> + return e;
> >> }
> >> private static InternalError newInternalError(Throwable cause)
> >> {
> >> - return new InternalError(cause);
> >> + InternalError e = new InternalError();
> >> + e.initCause(cause);
> >> + return e;
> >> }
> >> }
> >> diff --git a/src/share/classes/sun/misc/Unsafe.java
> >> b/src/share/classes/sun/misc/Unsafe.java
> >> --- a/src/share/classes/sun/misc/Unsafe.java
> >> +++ b/src/share/classes/sun/misc/Unsafe.java
> >> @@ -678,6 +678,14 @@
> >> public native Object staticFieldBase(Field f);
> >>
> >> /**
> >> + * Detect if the given class may need to be initialized. This
> >> is often
> >> + * needed in conjunction with obtaining the static field base
> >> of a
> >> + * class.
> >> + * @return false only if a call to {@code
> >> ensureClassInitialized} would have no effect
> >> + */
> >> + public native boolean shouldBeInitialized(Class c);
> >> +
> >> + /**
> >> * Ensure the given class has been initialized. This is often
> >> * needed in conjunction with obtaining the static field base
> >> of a
> >> * class.
> >>
> >
>
>
--
Andrew :)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
More information about the jdk7u-dev
mailing list