RFR (XXL): JEP 243: Java-Level JVM Compiler Interface (original) (raw)

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) || INCLUDEJVMCI + if (savevectors) { + assert(ymmhioffset != -1, "save area must exist"); + map->setcalleesaved(YMMHISTACKOFFSET( 0), xmm0->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET( 16), xmm1->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET( 32), xmm2->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET( 48), xmm3->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET( 64), xmm4->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET( 80), xmm5->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET( 96), xmm6->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET(112), xmm7->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET(128), xmm8->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET(144), xmm9->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET(160), xmm10->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET(176), xmm11->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET(192), xmm12->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET(208), xmm13->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET(224), xmm14->asVMReg()->next()->next()->next()->next()); + map->setcalleesaved(YMMHISTACKOFFSET(240), xmm15->asVMReg()->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