RFR (XXL): JEP 243: Java-Level JVM Compiler Interface
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Sep 23 11:16:10 UTC 2015
It should use next(4) which we have exactly for such cases:
map->set_callee_saved(YMMHI_STACK_OFFSET(0), xmm0->as_VMReg()->next(4));
Note, next() is equal next(1).
Vladimir
On 9/19/15 5:42 PM, Andrew Haley wrote:
> On 14/09/15 08:24, Christian Thalinger wrote:
>
> +#if defined(COMPILER2) || INCLUDE_JVMCI
> + if (save_vectors) {
> + assert(ymmhi_offset != -1, "save area must exist");
> + map->set_callee_saved(YMMHI_STACK_OFFSET( 0), xmm0->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET( 16), xmm1->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET( 32), xmm2->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET( 48), xmm3->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET( 64), xmm4->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET( 80), xmm5->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET( 96), xmm6->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET(112), xmm7->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET(128), xmm8->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET(144), xmm9->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET(160), xmm10->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET(176), xmm11->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET(192), xmm12->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET(208), xmm13->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET(224), xmm14->as_VMReg()->next()->next()->next()->next());
> + map->set_callee_saved(YMMHI_STACK_OFFSET(240), xmm15->as_VMReg()->next()->next()->next()->next());
> + }
> +#endif
> +
>
> Um, really? There is plenty of very odd code in HotSpot, but this is something else
> again.
>
> Andrew.
>
More information about the hotspot-dev
mailing list