From: <cap...@us...> - 2007-04-06 11:51:36
|
Revision: 23 http://svn.sourceforge.net/pearcolator/?rev=23&view=rev Author: captain5050 Date: 2007-04-06 04:51:35 -0700 (Fri, 06 Apr 2007) Log Message: ----------- Fix a few build and runtime issues Modified Paths: -------------- src/org/binarytranslator/Main.java src/org/binarytranslator/arch/arm/os/process/ARM_ProcessSpace.java src/org/binarytranslator/arch/ppc/os/process/PPC_ProcessSpace.java src/org/binarytranslator/arch/x86/os/process/X86_ProcessSpace.java src/org/binarytranslator/arch/x86/os/process/linux/X86_LinuxProcessSpace.java src/org/binarytranslator/generic/os/abi/linux/LinuxSystemCalls.java src/org/binarytranslator/generic/os/process/ProcessSpace.java src/org/binarytranslator/vmInterface/DBT_Trace.java src/org/binarytranslator/vmInterface/DynamicCodeRunner.java Modified: src/org/binarytranslator/Main.java =================================================================== --- src/org/binarytranslator/Main.java 2007-04-03 14:11:34 UTC (rev 22) +++ src/org/binarytranslator/Main.java 2007-04-06 11:51:35 UTC (rev 23) @@ -62,6 +62,7 @@ // Check we have a file to load if (args.length < 1) { usage(); + throw new Error("Error program ran without arguments"); } else { // Set up and load the process space try { Modified: src/org/binarytranslator/arch/arm/os/process/ARM_ProcessSpace.java =================================================================== --- src/org/binarytranslator/arch/arm/os/process/ARM_ProcessSpace.java 2007-04-03 14:11:34 UTC (rev 22) +++ src/org/binarytranslator/arch/arm/os/process/ARM_ProcessSpace.java 2007-04-06 11:51:35 UTC (rev 23) @@ -1,7 +1,6 @@ package org.binarytranslator.arch.arm.os.process; import java.io.IOException; - import org.binarytranslator.DBT_Options; import org.binarytranslator.arch.arm.os.process.image.ARM_ImageProcessSpace; import org.binarytranslator.arch.arm.os.process.linux.ARM_LinuxProcessSpace; @@ -11,6 +10,7 @@ import org.binarytranslator.generic.os.process.ProcessSpace; import org.jikesrvm.compilers.opt.ir.OPT_GenerationContext; import org.jikesrvm.compilers.opt.ir.OPT_HIRGenerator; +import org.vmmagic.pragma.Uninterruptible; public abstract class ARM_ProcessSpace extends ProcessSpace { @@ -94,6 +94,7 @@ /** * Return as an integer the current instruction's address */ + @Uninterruptible public int getCurrentInstructionAddress() { return registers.read(ARM_Registers.PC); } Modified: src/org/binarytranslator/arch/ppc/os/process/PPC_ProcessSpace.java =================================================================== --- src/org/binarytranslator/arch/ppc/os/process/PPC_ProcessSpace.java 2007-04-03 14:11:34 UTC (rev 22) +++ src/org/binarytranslator/arch/ppc/os/process/PPC_ProcessSpace.java 2007-04-06 11:51:35 UTC (rev 23) @@ -22,6 +22,7 @@ import org.binarytranslator.vmInterface.DBT_OptimizingCompilerException; import org.jikesrvm.compilers.opt.ir.OPT_GenerationContext; import org.jikesrvm.compilers.opt.ir.OPT_HIRGenerator; +import org.vmmagic.pragma.Uninterruptible; /** * Capture the running of a PowerPC process @@ -162,6 +163,7 @@ /** * Return as an integer the current instruction's address */ + @Uninterruptible public int getCurrentInstructionAddress() { return pc; } Modified: src/org/binarytranslator/arch/x86/os/process/X86_ProcessSpace.java =================================================================== --- src/org/binarytranslator/arch/x86/os/process/X86_ProcessSpace.java 2007-04-03 14:11:34 UTC (rev 22) +++ src/org/binarytranslator/arch/x86/os/process/X86_ProcessSpace.java 2007-04-06 11:51:35 UTC (rev 23) @@ -21,6 +21,7 @@ import org.binarytranslator.arch.x86.os.process.linux.X86_LinuxProcessSpace; import org.binarytranslator.arch.x86.decoder.X862IR; import org.binarytranslator.generic.os.loader.Loader; +import org.vmmagic.pragma.Uninterruptible; /** * Encapsulate the parts of an X86 process that are common across operating systems @@ -172,6 +173,7 @@ /** * Return as an integer the current instruction's address */ + @Uninterruptible public int getCurrentInstructionAddress() { return registers.eip; } Modified: src/org/binarytranslator/arch/x86/os/process/linux/X86_LinuxProcessSpace.java =================================================================== --- src/org/binarytranslator/arch/x86/os/process/linux/X86_LinuxProcessSpace.java 2007-04-03 14:11:34 UTC (rev 22) +++ src/org/binarytranslator/arch/x86/os/process/linux/X86_LinuxProcessSpace.java 2007-04-06 11:51:35 UTC (rev 23) @@ -24,7 +24,7 @@ /** * System calls object for handling system calls generated by this process */ - LinuxSystemCalls syscalls; + final LinuxSystemCalls syscalls; /** * Allows uniform access to the arguments of a system call. We cache this object for reuse. @@ -45,8 +45,8 @@ * Constructor */ public X86_LinuxProcessSpace(Loader loader) { + syscallArgs = new X86_LinuxSyscallArgumentIterator(this); syscalls = new X86_LinuxSystemCalls(this); - syscallArgs = new X86_LinuxSyscallArgumentIterator(this); } /** Modified: src/org/binarytranslator/generic/os/abi/linux/LinuxSystemCalls.java =================================================================== --- src/org/binarytranslator/generic/os/abi/linux/LinuxSystemCalls.java 2007-04-03 14:11:34 UTC (rev 22) +++ src/org/binarytranslator/generic/os/abi/linux/LinuxSystemCalls.java 2007-04-06 11:51:35 UTC (rev 23) @@ -61,7 +61,7 @@ /** * List of (RandomAccessFile(s)) files currently open */ - private ArrayList files; + private ArrayList<Object> files; /** * Convert integer file descriptor into Java RandomAccessFile */ @@ -109,7 +109,7 @@ for(int i=0; i < MAX_SYSCALLS; i++) { systemCallTable[i] = USC; } - files = new ArrayList(); + files = new ArrayList<Object>(); files.add(System.in); files.add(System.out); files.add(System.err); @@ -447,7 +447,7 @@ } abstract class ParameterizedSystemCall extends SystemCall { - protected LinuxSystemCallGenerator.CallArgumentIterator arguments; + protected final LinuxSystemCallGenerator.CallArgumentIterator arguments; public ParameterizedSystemCall() { arguments = src.getSysCallArguments(); Modified: src/org/binarytranslator/generic/os/process/ProcessSpace.java =================================================================== --- src/org/binarytranslator/generic/os/process/ProcessSpace.java 2007-04-03 14:11:34 UTC (rev 22) +++ src/org/binarytranslator/generic/os/process/ProcessSpace.java 2007-04-06 11:51:35 UTC (rev 23) @@ -29,7 +29,9 @@ import org.binarytranslator.arch.x86.os.process.X86_ProcessSpace; import org.binarytranslator.arch.arm.os.process.ARM_ProcessSpace; import org.binarytranslator.arch.ppc.os.process.PPC_ProcessSpace; +import org.vmmagic.pragma.Uninterruptible; + /** * A process space encapsulates a running process. This superclass contains non * operating and architecture specific details of the process. @@ -348,6 +350,7 @@ /** * Return as an integer the current instruction's address */ + @Uninterruptible public abstract int getCurrentInstructionAddress(); /** Modified: src/org/binarytranslator/vmInterface/DBT_Trace.java =================================================================== --- src/org/binarytranslator/vmInterface/DBT_Trace.java 2007-04-03 14:11:34 UTC (rev 22) +++ src/org/binarytranslator/vmInterface/DBT_Trace.java 2007-04-06 11:51:35 UTC (rev 23) @@ -205,6 +205,7 @@ /** * Map bytecode index to java source line number */ + @Uninterruptible public int getLineNumberForBCIndex(int bci) { return bci; } Modified: src/org/binarytranslator/vmInterface/DynamicCodeRunner.java =================================================================== --- src/org/binarytranslator/vmInterface/DynamicCodeRunner.java 2007-04-03 14:11:34 UTC (rev 22) +++ src/org/binarytranslator/vmInterface/DynamicCodeRunner.java 2007-04-06 11:51:35 UTC (rev 23) @@ -23,7 +23,7 @@ * compiled using the PPC emulator. Uninterruptible is used to prevent garbage * collection errors with the dynamic bridge code. */ -@Uninterruptible +//@Uninterruptible @DynamicBridge public class DynamicCodeRunner { /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |