コード例 #1
0
 /**
  * Handle timer interrupt taken on loop backedge. This method is identical to the
  * yieldpointFromBackedge() method used method used by the baseline compiler, except in the OPT
  * compiler world, we also save the volatile registers.
  */
 @Entrypoint
 public static void OPT_yieldpointFromBackedge() {
   LocalAddress fp = VM_Magic.getFramePointer();
   VM_GreenThread.yieldpoint(VM_Thread.BACKEDGE, fp);
 }
コード例 #2
0
 /** OSR invalidation being initiated. */
 @Entrypoint
 public static void OPT_yieldpointFromOsrOpt() {
   LocalAddress fp = VM_Magic.getFramePointer();
   VM_Processor.getCurrentProcessor().yieldToOSRRequested = true;
   VM_GreenThread.yieldpoint(VM_Thread.OSROPT, fp);
 }
コード例 #3
0
 /**
  * Handle timer interrupt taken in method epilogue. This method is identical to the
  * yieldpointFromEpilogue() method used by the baseline compiler, except in the OPT compiler
  * world, we also save the volatile registers.
  */
 @Entrypoint
 public static void OPT_yieldpointFromEpilogue() {
   LocalAddress fp = VM_Magic.getFramePointer();
   VM_GreenThread.yieldpoint(VM_Thread.EPILOGUE, fp);
 }