[aarch64-port-dev ] /hg/icedtea7-forest-aarch64/hotspot: ensure byte_map_base can be...
Edward Nevill
edward.nevill at linaro.org
Fri Oct 31 10:37:08 UTC 2014
On Thu, 2014-10-30 at 16:25 +0000, Andrew Dinn wrote:
> Hmm, this patch may need to be reconsidered :-(
>
> I just tried running jtreg with this patch included and it fails to
> compile the test code. That's because jtreg passes argument -Xms8m to
> javac. This causes eden_size to be computed as zero leading to an assert.
>
> It is possible to override this by passing EXTRA_JTREG_ARGS="-Xms16m" to
> the "make test" command. That seems rather unsatisfactory though.
>
> I wonder if anything else important -- other than jtreg -- is relying on
> being able to run with a heap size of 8Mb?
>
> Any opinions?
Hi,
I think the best thing may be to back out this patch and put in the extra ADD instruction. I think it needs an extra ADD, not an extra LDR/STR.
IE. The existing sequence is something like
lsr Xtmp, Xobject, #9
adrp Xtable, CardTable
strb zr, [Xtable, Xtmp]
This becomes
lsr Xtmp, Xobject, #9
adrp Xtable, CardTable & ~0xfff
add Xtable, Xtable, CardTable & 0xfff
strb zr, [Xtable, Xtmp]
I did some experiments with using a global register, and it seems to work ok, but what I am doing is.
lsr Xtmp, Xobject, #9
mov Xtable, Xcardtable (aka X27)
strb zr, [Xtable, Xtmp]
I am struggling to get a pattern which merges the mov and the strb into a single store.
So, I think it would be best to simply put in the extra ADD instruction which should work and continue experiment on what is the most performant way to do it.
All the best,
Ed.
More information about the aarch64-port-dev
mailing list