GitLab will be upgraded to the 12.10.14-ce.0 on 28 Sept 2020 at 2.00pm (AEDT) to 2.30pm (AEDT). During the update, GitLab and Mattermost services will not be available. If you have any concerns with this, please talk to us at N110 (b) CSIT building.

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