TLAB Refills for x86
Doerr, Martin
martin.doerr at sap.com
Tue Dec 5 12:12:08 UTC 2017
Hi,
the interpreter change looks good to me (except the comment change).
I've taken a look at C1 and C2 compilers.
C2 already does it as desired: It either uses TLAB or shared eden allocation (if supported).
Unfortunately, the C1 implementation in c1_Runtime1_x86/sparc still contains a path "try_eden" when TLAB allocation fails. (Also see MacroAssembler::tlab_refill). I think this should be adapted as well. Would you agree?
Best regards,
Martin
-----Original Message-----
From: hotspot-dev [mailto:hotspot-dev-bounces at openjdk.java.net] On Behalf Of Thomas Schatzl
Sent: Dienstag, 5. Dezember 2017 12:07
To: JC Beyler <jcbeyler at google.com>; hotspot-dev at openjdk.java.net
Subject: Re: TLAB Refills for x86
Hi,
On Thu, 2017-11-30 at 13:09 -0800, JC Beyler wrote:
> Hi all,
>
> The TLAB and the inline contiguous allocations handling are different
> for
> each architecture. On certain architectures, TLAB is never actually
> never
> refilled (ref: https://bugs.openjdk.java.net/browse/JDK-8190862).
>
> The idea behind the implementation for x86 is to separate TLAB usage
> to
> contiguous allocations in eden space.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8191027
> WebRev: http://cr.openjdk.java.net/~rasbold/8191027/webrev.02/
>
> Does anyone see any issues with this webrev?
I only see a slight issue with the new comment on how it works: the
first time I read it, it seemed to me that step 1+2 are inclusive, not
exclusive as is implemented (there is step 4 which explains that it is
exclusive retroactively). But maybe it's just me.
Looks good otherwise.
Thomas
More information about the hotspot-dev
mailing list