RFR (XXL): JEP 243: Java-Level JVM Compiler Interface (original) (raw)
Christian Thalinger christian.thalinger at oracle.com
Wed Sep 23 21:38:45 UTC 2015
- Previous message: RFR (XXL): JEP 243: Java-Level JVM Compiler Interface
- Next message: Getting ready
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sep 23, 2015, at 1:16 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
It should use next(4) which we have exactly for such cases: map->setcalleesaved(YMMHISTACKOFFSET(0), xmm0->asVMReg()->next(4)); Note, next() is equal next(1).
Done:
http://hg.openjdk.java.net/graal/graal-jvmci-9/hotspot/rev/6703dfe1e8f9 <http://hg.openjdk.java.net/graal/graal-jvmci-9/hotspot/rev/6703dfe1e8f9>
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.
- Previous message: RFR (XXL): JEP 243: Java-Level JVM Compiler Interface
- Next message: Getting ready
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]