support for java-11 made a bit cleaner
This commit is contained in:
parent
776bb9cbfe
commit
fca8399d0f
|
@ -688,7 +688,9 @@ VOID Instruction(INS ins, VOID *v) {
|
||||||
|
|
||||||
UINT32 memOperands = INS_MemoryOperandCount(ins);
|
UINT32 memOperands = INS_MemoryOperandCount(ins);
|
||||||
|
|
||||||
if (INS_IsControlFlow(ins))//INS_IsBranchOrCall(ins))//INS_IsIndirectBranchOrCall(ins))
|
//if (INS_IsIndirectBranchOrCall(ins))//old versions of PIN
|
||||||
|
if (INS_IsBranchOrCall(ins))//use this for older versions of PIN like 97554
|
||||||
|
//if (INS_IsControlFlow(ins))//use this for newer versions of PIN like 98332
|
||||||
{
|
{
|
||||||
INS_InsertCall(ins, IPOINT_BEFORE, (AFUNPTR) BrnFun, IARG_THREAD_ID,
|
INS_InsertCall(ins, IPOINT_BEFORE, (AFUNPTR) BrnFun, IARG_THREAD_ID,
|
||||||
IARG_BRANCH_TARGET_ADDR, IARG_BRANCH_TAKEN, IARG_INST_PTR,
|
IARG_BRANCH_TARGET_ADDR, IARG_BRANCH_TAKEN, IARG_INST_PTR,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
PIN_KIT ?=/home/rajshekar/softwares/pin-98332/
|
PIN_KIT ?=/mnt/remote_scratch/softwares/pin-97554/
|
||||||
CXX=$(shell make PIN_ROOT=$(PIN_KIT) VAR=CXX -f pin_makefile print_var)
|
CXX=$(shell make PIN_ROOT=$(PIN_KIT) VAR=CXX -f pin_makefile print_var)
|
||||||
LINKER=$(shell make PIN_ROOT=$(PIN_KIT) VAR=LINKER -f pin_makefile print_var)
|
LINKER=$(shell make PIN_ROOT=$(PIN_KIT) VAR=LINKER -f pin_makefile print_var)
|
||||||
TOOL_CXXFLAGS=$(shell make PIN_ROOT=$(PIN_KIT) VAR=TOOL_CXXFLAGS -f pin_makefile print_var)
|
TOOL_CXXFLAGS=$(shell make PIN_ROOT=$(PIN_KIT) VAR=TOOL_CXXFLAGS -f pin_makefile print_var)
|
||||||
|
@ -60,21 +60,23 @@ $(BINDIR)/shmem.$(OBJ_EXTENSION): $(COMMDIR)/IPCBase.h $(COMMDIR)/shm/shmem.h $
|
||||||
|
|
||||||
|
|
||||||
################################ JNI stuff comes here ############################################
|
################################ JNI stuff comes here ############################################
|
||||||
#JNIPACKAGE = emulatorinterface.communication.shm.SharedMem #use this for java-8
|
|
||||||
JNIPACKAGE = ../../simulator/emulatorinterface/communication/shm/SharedMem.java #use this for java-11
|
JNIPACKAGE = ../../simulator/emulatorinterface/communication/shm/SharedMem.java #use this for java-11
|
||||||
#JNINCLUDE =-I/usr/lib/jvm/java-8-openjdk-amd64/include/linux -I/usr/lib/jvm/java-8-openjdk-amd64/include #use this for java-8
|
|
||||||
JNINCLUDE =-I/usr/lib/jvm/java-11-openjdk-amd64/include/linux -I/usr/lib/jvm/java-11-openjdk-amd64/include #use this for java-11
|
JNINCLUDE =-I/usr/lib/jvm/java-11-openjdk-amd64/include/linux -I/usr/lib/jvm/java-11-openjdk-amd64/include #use this for java-11
|
||||||
JNILinkingFlags = -shared -Wall $(POSITION_INDEPENDENCE)
|
JNILinkingFlags = -shared -Wall $(POSITION_INDEPENDENCE)
|
||||||
#JAVAH = javah -jni #use this for java-8
|
|
||||||
JAVAH = javac #use this for java-11
|
JAVAH = javac #use this for java-11
|
||||||
|
JAVAHCOMMAND = $(JAVAH) -classpath $(TOPBINDIR) -h $(JNIBINDIR) $(JNIPACKAGE); mv $(JNIBINDIR)/emulatorinterface_communication_shm_SharedMem.h $(JNIBINDIR)/SharedMem.h
|
||||||
|
ifeq ($(shell java -version 2>&1|grep 1.8.0 >/dev/null; printf $$?),0)
|
||||||
|
JNIPACKAGE = emulatorinterface.communication.shm.SharedMem #use this for java-8
|
||||||
|
JNINCLUDE =-I/usr/lib/jvm/java-8-openjdk-amd64/include/linux -I/usr/lib/jvm/java-8-openjdk-amd64/include #use this for java-8
|
||||||
|
JAVAH = javah -jni #use this for java-8
|
||||||
|
JAVAHCOMMAND = $(JAVAH) -classpath $(TOPBINDIR) -o $(JNIBINDIR)/SharedMem.h $(JNIPACKAGE) #use this for java-8
|
||||||
|
endif
|
||||||
|
|
||||||
$(JNIBINDIR)/libshmlib.$(LIB_EXTENSION): $(JNIBINDIR)/SharedMem.h $(COMMDIR)/shm/JNIShm.c $(COMMDIR)/common.h
|
$(JNIBINDIR)/libshmlib.$(LIB_EXTENSION): $(JNIBINDIR)/SharedMem.h $(COMMDIR)/shm/JNIShm.c $(COMMDIR)/common.h
|
||||||
$(shell $(JNICOMMAND))
|
$(shell $(JNICOMMAND))
|
||||||
|
|
||||||
$(JNIBINDIR)/SharedMem.h: $(TOPBINDIR)/emulatorinterface/communication/shm/SharedMem.class
|
$(JNIBINDIR)/SharedMem.h: $(TOPBINDIR)/emulatorinterface/communication/shm/SharedMem.class
|
||||||
#$(JAVAH) -classpath $(TOPBINDIR) -o $(JNIBINDIR)/SharedMem.h $(JNIPACKAGE) #use this for java-8
|
$(JAVAHCOMMAND)
|
||||||
$(JAVAH) -classpath $(TOPBINDIR) -h $(JNIBINDIR) $(JNIPACKAGE) #use this line and the next for java-11
|
|
||||||
mv $(JNIBINDIR)/emulatorinterface_communication_shm_SharedMem.h $(JNIBINDIR)/SharedMem.h
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BINDIR) $(JNIBINDIR)
|
rm -rf $(BINDIR) $(JNIBINDIR)
|
||||||
|
|
|
@ -31,12 +31,12 @@ TDP = 15W
|
||||||
<!--Currently we support following (emulator,communication) combinations : -->
|
<!--Currently we support following (emulator,communication) combinations : -->
|
||||||
<!--(pin, sharedMemory), (qemu, sharedMemory), (qemu, network), (none, file)-->
|
<!--(pin, sharedMemory), (qemu, sharedMemory), (qemu, network), (none, file)-->
|
||||||
<!--(pin,file) combination can be used to collect execution trace of an application in a compressed file-->
|
<!--(pin,file) combination can be used to collect execution trace of an application in a compressed file-->
|
||||||
<EmulatorType>none</EmulatorType> <!--pin,qemu-->
|
<EmulatorType>pin</EmulatorType> <!--pin,qemu-->
|
||||||
|
|
||||||
<!--NOTE only file interface supports the execution of multiple benchmarks inside tejas-->
|
<!--NOTE only file interface supports the execution of multiple benchmarks inside tejas-->
|
||||||
<!--if you are reading the packets from a file, the emulator must be set to none-->
|
<!--if you are reading the packets from a file, the emulator must be set to none-->
|
||||||
<!--multiple benchmarks are specified using arguments to the simulator-->
|
<!--multiple benchmarks are specified using arguments to the simulator-->
|
||||||
<CommunicationType>file</CommunicationType> <!--file,sharedMemory,network-->
|
<CommunicationType>sharedMemory</CommunicationType> <!--file,sharedMemory,network-->
|
||||||
|
|
||||||
<!--We can use tejas as an interface to create a compressed (gzip) trace file using the emulator-->
|
<!--We can use tejas as an interface to create a compressed (gzip) trace file using the emulator-->
|
||||||
<!--Set this option to true if you want to create a trace file of the benchmark execution-->
|
<!--Set this option to true if you want to create a trace file of the benchmark execution-->
|
||||||
|
@ -49,11 +49,11 @@ TDP = 15W
|
||||||
<!--We do not allow overwriting of trace files. So if a tracefile with same name is pre-existing, kindly rename it-->
|
<!--We do not allow overwriting of trace files. So if a tracefile with same name is pre-existing, kindly rename it-->
|
||||||
<BasenameForTraceFiles>/home/rajshekar/projects/tejas/tests/test1_trace</BasenameForTraceFiles>
|
<BasenameForTraceFiles>/home/rajshekar/projects/tejas/tests/test1_trace</BasenameForTraceFiles>
|
||||||
|
|
||||||
<PinTool>/home/rajshekar/softwares/pin-98332/</PinTool>
|
<PinTool>/mnt/remote_scratch/softwares/pin-97554/</PinTool>
|
||||||
<PinInstrumentor>/home/rajshekar/projects/tejas/workspace/Tejas/src/emulator/pin/obj-pin/causalityTool.so</PinInstrumentor>
|
<PinInstrumentor>/mnt/remote_scratch1/rajshekar/projects/tejas/workspace/Tejas/src/emulator/pin/obj-pin/causalityTool.so</PinInstrumentor>
|
||||||
<QemuTool>TODO/home/prathmesh/workspace/qemu/x86_64-linux-user/qemu-x86_64 /home/prathmesh/tmp/testQemu.o</QemuTool>
|
<QemuTool>TODO/home/prathmesh/workspace/qemu/x86_64-linux-user/qemu-x86_64 /home/prathmesh/tmp/testQemu.o</QemuTool>
|
||||||
<ShmLibDirectory>/home/rajshekar/projects/tejas/workspace/Tejas/src/emulator/pin/obj-comm/</ShmLibDirectory>
|
<ShmLibDirectory>/mnt/remote_scratch1/rajshekar/projects/tejas/workspace/Tejas/src/emulator/pin/obj-comm/</ShmLibDirectory>
|
||||||
<GetBenchmarkPIDScript>/home/rajshekar_resources/tejas_configs/getBenchmarkPID.sh</GetBenchmarkPIDScript>
|
<GetBenchmarkPIDScript>/home/rajshekar/resources/tejas_configs/getBenchmarkPID.sh</GetBenchmarkPIDScript>
|
||||||
<KillEmulatorScript>/home/rajshekar/resources/tejas_configs/killAllDescendents.sh</KillEmulatorScript>
|
<KillEmulatorScript>/home/rajshekar/resources/tejas_configs/killAllDescendents.sh</KillEmulatorScript>
|
||||||
</Emulator>
|
</Emulator>
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ TDP = 15W
|
||||||
<pinpointsSim>false</pinpointsSim>
|
<pinpointsSim>false</pinpointsSim>
|
||||||
<pinpointsFile>/mnt/srishtistr0/scratch/rajshekar/tejas/PinPoints_working_directory/soplex.test.Data/t.sorted</pinpointsFile>
|
<pinpointsFile>/mnt/srishtistr0/scratch/rajshekar/tejas/PinPoints_working_directory/soplex.test.Data/t.sorted</pinpointsFile>
|
||||||
<NumInsToIgnore>00000000</NumInsToIgnore> <!--Ignores these many profilable instructions from the start of the program-->
|
<NumInsToIgnore>00000000</NumInsToIgnore> <!--Ignores these many profilable instructions from the start of the program-->
|
||||||
<subsetSim>false</subsetSim>
|
<subsetSim>true</subsetSim>
|
||||||
<subsetSimSize>2000000</subsetSimSize>
|
<subsetSimSize>2000000</subsetSimSize>
|
||||||
<markerFunctions>false</markerFunctions>
|
<markerFunctions>false</markerFunctions>
|
||||||
<startSimMarker>add</startSimMarker>
|
<startSimMarker>add</startSimMarker>
|
||||||
|
@ -112,12 +112,12 @@ TDP = 15W
|
||||||
<PipelineType>outOfOrder</PipelineType> <!--inOrder,outOfOrder(set issue width for multi-issue in-order)-->
|
<PipelineType>outOfOrder</PipelineType> <!--inOrder,outOfOrder(set issue width for multi-issue in-order)-->
|
||||||
|
|
||||||
<BranchPredictor>
|
<BranchPredictor>
|
||||||
<Predictor_Mode>TAGE</Predictor_Mode> <!-- Legal Values are NoPredictor, PerfectPredictor, AlwaysTaken, AlwaysNotTaken, Tournament, Bimodal, GAg, GAp, GShare, PAg, PAp, TAGE, TAGE-SC-L -->
|
<Predictor_Mode>TAGE-SC-L</Predictor_Mode> <!-- Legal Values are NoPredictor, PerfectPredictor, AlwaysTaken, AlwaysNotTaken, Tournament, Bimodal, GAg, GAp, GShare, PAg, PAp, TAGE, TAGE-SC-L -->
|
||||||
<PCBits>8</PCBits>
|
<PCBits>8</PCBits>
|
||||||
<BHRsize>16</BHRsize>
|
<BHRsize>16</BHRsize>
|
||||||
<BranchMispredPenalty>17</BranchMispredPenalty> <!--Branch misprediction penalty--><!-- https://www.7-cpu.com/cpu/Skylake.html -->
|
<BranchMispredPenalty>17</BranchMispredPenalty> <!--Branch misprediction penalty--><!-- https://www.7-cpu.com/cpu/Skylake.html -->
|
||||||
<SaturatingBits>2</SaturatingBits>
|
<SaturatingBits>2</SaturatingBits>
|
||||||
<TAGESCLLibDirectory>/home/rajshekar/projects/tejas/workspace/Tejas/src/simulator/pipeline/branchpredictor/TAGESCL/</TAGESCLLibDirectory>
|
<TAGESCLLibDirectory>/mnt/remote_scratch1/rajshekar/projects/tejas/workspace/Tejas/src/simulator/pipeline/branchpredictor/TAGESCL/</TAGESCLLibDirectory>
|
||||||
<LeakageEnergy>0.0178</LeakageEnergy>
|
<LeakageEnergy>0.0178</LeakageEnergy>
|
||||||
<DynamicEnergy>0.0962</DynamicEnergy>
|
<DynamicEnergy>0.0962</DynamicEnergy>
|
||||||
</BranchPredictor>
|
</BranchPredictor>
|
||||||
|
@ -477,7 +477,7 @@ TDP = 15W
|
||||||
<Interconnect>NOC</Interconnect>
|
<Interconnect>NOC</Interconnect>
|
||||||
|
|
||||||
<NOC>
|
<NOC>
|
||||||
<NocConfigFile>/home/rajshekar/resources/tejas_configs/config_2core_kabylake_NocConfig.txt</NocConfigFile>
|
<NocConfigFile>/nfs_home/rajshekar/resources/tejas_configs/config_2core_kabylake_NocConfig.txt</NocConfigFile>
|
||||||
<NocSelScheme>STATIC</NocSelScheme>
|
<NocSelScheme>STATIC</NocSelScheme>
|
||||||
<NocNumberOfBuffers>4</NocNumberOfBuffers>
|
<NocNumberOfBuffers>4</NocNumberOfBuffers>
|
||||||
<NocPortType>FCFS</NocPortType>
|
<NocPortType>FCFS</NocPortType>
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
|
javaver=java-11
|
||||||
|
ifeq ($(shell java -version 2>&1|grep 1.8.0 >/dev/null; printf $$?),0)
|
||||||
|
javaver=java-8
|
||||||
|
endif
|
||||||
|
|
||||||
all:
|
all:
|
||||||
javac -h . TAGESCLInvoker.java
|
javac -h . TAGESCLInvoker.java
|
||||||
#gcc -fPIC -I/usr/lib/jvm/java-8-openjdk-amd64/include/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux/ -shared -o libnative.so pipeline_branchpredictor_TAGESCL_TAGESCLInvoker.cc
|
gcc -fPIC -I/usr/lib/jvm/$(javaver)-openjdk-amd64/include/ -I/usr/lib/jvm/$(javaver)-openjdk-amd64/include/linux/ -shared -o libnative.so pipeline_branchpredictor_TAGESCL_TAGESCLInvoker.cc
|
||||||
gcc -fPIC -I/usr/lib/jvm/java-11-openjdk-amd64/include/ -I/usr/lib/jvm/java-11-openjdk-amd64/include/linux/ -shared -o libnative.so pipeline_branchpredictor_TAGESCL_TAGESCLInvoker.cc
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.h
|
rm -f *.h
|
||||||
rm -f *.class
|
rm -f *.class
|
||||||
|
|
Loading…
Reference in New Issue