RFR (xs) 8075967: Zero interpreter asserts for SafeFetch<32, N> calls in ObjectMonitor

Severin Gehwolf sgehwolf at redhat.com
Thu Mar 26 10:22:06 UTC 2015


Hi Coleen,

On Wed, 2015-03-25 at 20:08 -0400, Coleen Phillimore wrote:
> On 3/25/15, 2:29 PM, Severin Gehwolf wrote:
> > Hi Coleen,
> >
> > Thanks for this!
> >
> > On Wed, 2015-03-25 at 13:53 -0400, Coleen Phillimore wrote:
> >> Summary: Implement SafeFetchX unsafely and make CanUseSafeFetchX false
> >> for Zero
> >>
> >> Also, this fixes a couple other minor issues.
> >>
> >> Ran jdk9 jck tests with one timeout.  hotspot/runtime jtreg tests don't
> >> run because Zero doesn't support UseCompressedOops (not sure why) and
> >> CDS (know why).
> >>
> >> open webrev at http://cr.openjdk.java.net/~coleenp/8075967/
> >> bug link https://bugs.openjdk.java.net/browse/JDK-8075967
> > Disclaimer: Not a reviewer.
> >
> > While I'd have preferred correct (safe) SafeFetchX implementations (or
> > remove them for Zero) I don't see how we could do this for Zero in an
> > arch-independent way. AFAIK, getting/setting the PC via ucontext is
> > machine dependent and Zero may be running on any linux architecture
> > where GCC is available.
> 
> Thanks for reviewing the code.  I suppose we should make implementing 
> SafeFetch required for all platforms because it's called in platform 
> independent code (or rewrite the platform independent code).

> My goal at the moment was to see how well Zero works.  I don't know how
> well supported this variant is.

I'd be very interested to hear on how you determine how well Zero works.
Use the TCK? Some other metric? As for jtreg tests, many of them fail
trivially because they assume there is server and client JVMs only (e.g.
tools/launcher/VersionCheck.java in JDK).

With that being said, Zero should be in better shape now than it was a
while ago. Back then, it wouldn't even compile in latest upstream
trees...

Depending on available cycles I'll try to help as much as I can. The
best metric we have currently for Zero is its ability to build itself.
I've never managed to go through all failing jtreg tests and determine
exactly what's wrong (test or JVM failure).

> It seems to be missing a lot.

Right. A good starting point is making people aware that it exists so
that no new compilation errors get introduced. You've been doing a great
job at this. Thanks! My goal is to make Zero better over time, since
it's been lacking basic maintainership for a while in upstream OpenJDK.

Aside: Zero is using the C++ interpreter which AFAIK, isn't used much
anywhere else. Most (all?) JIT ports use the template interpreter these
days.

Thanks,
Severin

> Thanks,
> Coleen
> 
> >
> > Changes look fine to me.
> >
> > Cheers,
> > Severin
> >
> >> Thanks,
> >> Coleen
> >
> >
> 





More information about the hotspot-dev mailing list