Commit deeff9a3 authored by Yi Lin's avatar Yi Lin

baseline code patching seems working

parent 32cea859
......@@ -331,7 +331,7 @@ public class CompiledMethods {
}
}
public static int methodWeCare = -1;
public static int methodWeCare = 0;
@Uninterruptible
public static void setNOP2INT() {
......
......@@ -3844,6 +3844,7 @@ public final class RVMThread extends ThreadContext {
// all thread blocked - time stamp
YieldpointStatistics.allThreadBlockedLatency += (Magic.getTimeBase() - YieldpointStatistics.gcRequestBlockTime);
turnOffGlobalYieldpoints();
}
/**
......@@ -3853,7 +3854,6 @@ public final class RVMThread extends ThreadContext {
@Unpreemptible
public static void unblockAllMutatorsForGC() {
YieldpointStatistics.mutatorStartTimeMillis = sysCall.sysCurrentTimeMillis();
turnOffGlobalYieldpoints();
RVMThread.handshakeLock.lockNoHandshake();
RVMThread.acctLock.lockNoHandshake();
......@@ -4040,8 +4040,8 @@ public final class RVMThread extends ThreadContext {
if (YieldpointStatistics.ENABLE_YP_COUNT)
YieldpointStatistics.yieldpointTaken.increment();
VM.sysWriteln("service method: ", yieldpointServiceMethodFP);
RVMThread.dumpStack();
// VM.sysWriteln("service method: ", yieldpointServiceMethodFP);
// RVMThread.dumpStack();
RVMThread t = getCurrentThread();
......@@ -5671,7 +5671,7 @@ public final class RVMThread extends ThreadContext {
}
else if (org.mmtk.vm.VM.config.YIELDPOINT_IMPL == org.mmtk.vm.Config.USE_CODE_PATCHING_YP) {
CompiledMethods.setNOP2INT();
CompiledMethods.setINT2NOP();
// CompiledMethods.setINT2NOP();
}
}
......@@ -5683,7 +5683,7 @@ public final class RVMThread extends ThreadContext {
Memory.mprotect(PROTECT_GLOBAL_PAGE_BL, PROTECT_PAGE_SIZE, Memory.PROT_EXEC | Memory.PROT_READ | Memory.PROT_WRITE);
}
else if (org.mmtk.vm.VM.config.YIELDPOINT_IMPL == org.mmtk.vm.Config.USE_CODE_PATCHING_YP) {
// CompiledMethods.setINT2NOP();
CompiledMethods.setINT2NOP();
}
}
}
......@@ -104,7 +104,7 @@ const char *bootDataFilename = 0;
const char *bootRMapFilename = 0;
/* Emit trace information? */
int lib_verbose = 1;
int lib_verbose = 0;
/* Location of jtoc within virtual machine image. */
static Address VmToc;
......@@ -657,8 +657,8 @@ hardwareTrapHandler(int signo, siginfo_t *si, void *context)
/* Insert artifical stackframe at the stack top */
Address * sp = (Address *)(IA32_ESP(context) - 4);
IA32_ESP(context) = IA32_ESP(context) - 4;
instructionFollowing = getInstructionFollowing(localInstructionAddress);
*sp = instructionFollowing;
// instructionFollowing = getInstructionFollowing(localInstructionAddress);
*sp = localInstructionAddress;
printf("code patching YP handler\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment