예제 #1
0
파일: Magic.java 프로젝트: alanweide/coff
 /**
  * Get return address for a frame in a specific thread
  *
  * @param fp its frame pointer
  * @param thread the thread whose stack is being examined
  */
 @Uninterruptible
 public static Address getReturnAddress(Address fp, RVMThread thread) {
   Address ip = getReturnAddressLocation(fp).loadAddress();
   if (RVMThread.isTrampolineIP(ip)) return thread.getTrampolineHijackedReturnAddress();
   else return ip;
 }
예제 #2
0
파일: Magic.java 프로젝트: alanweide/coff
 /**
  * Get return address for a frame in a case where the frame is known not to be a trampoline frame.
  *
  * @param fp its frame pointer
  */
 @Uninterruptible
 public static Address getReturnAddressUnchecked(Address fp) {
   Address ip = getReturnAddressLocation(fp).loadAddress();
   if (VM.VerifyAssertions) VM._assert(!RVMThread.isTrampolineIP(ip));
   return ip;
 }