From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29202 invoked by alias); 20 Dec 2007 18:21:42 -0000 Received: (qmail 29173 invoked by uid 367); 20 Dec 2007 18:21:40 -0000 Date: Thu, 20 Dec 2007 18:21:00 -0000 Message-ID: <20071220182140.29158.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Almost eliminate getRegisterBuffersFIXME(). X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 92674d4e204276b5cba183da814aa57fa71d4423 X-Git-Newrev: 79fb19acf507102afc8d2bd18cc09da463f96c23 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2007-q4/txt/msg00616.txt.bz2 The branch, master has been updated via 79fb19acf507102afc8d2bd18cc09da463f96c23 (commit) via 6941f68718c93d2d309421f6550c44a0a619388d (commit) from 92674d4e204276b5cba183da814aa57fa71d4423 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 79fb19acf507102afc8d2bd18cc09da463f96c23 Author: Andrew Cagney Date: Thu Dec 20 13:17:26 2007 -0500 Almost eliminate getRegisterBuffersFIXME(). frysk-core/frysk/bank/ChangeLog 2007-12-20 Andrew Cagney * RegisterBanks.java (getBanksFIXME()): New. frysk-core/frysk/proc/ChangeLog 2007-12-20 Andrew Cagney * Task.java (sendrecRegisterBuffersFIXME()): Delete. (registerBuffers): Delete. (getRegisterBuffersFIXME()): Update. frysk-core/frysk/proc/dead/ChangeLog 2007-12-20 Andrew Cagney * LinuxTask.java (sendrecRegisterBuffersFIXME()): Delete. * LinuxExeTask.java (sendrecRegisterBuffersFIXME()): Delete. (sendrecRegisterBanks()): Update. frysk-core/frysk/proc/dummy/ChangeLog 2007-12-20 Andrew Cagney * Task.java (sendrecRegisterBuffersFIXME()): Delete. frysk-core/frysk/proc/live/ChangeLog 2007-12-20 Andrew Cagney * LinuxTask.java (sendrecRegisterBuffersFIXME()): Delete. commit 6941f68718c93d2d309421f6550c44a0a619388d Author: Andrew Cagney Date: Thu Dec 20 13:01:02 2007 -0500 Delete unused getBigIntegerRegisterFIXME(String). frysk-core/frysk/proc/ChangeLog 2007-12-20 Andrew Cagney * Task.java (getBigIntegerRegisterFIXME(String)): Delete. ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/bank/ChangeLog | 2 + frysk-core/frysk/bank/RegisterBanks.java | 4 ++ frysk-core/frysk/proc/ChangeLog | 6 +++ frysk-core/frysk/proc/Task.java | 49 +++++--------------------- frysk-core/frysk/proc/dead/ChangeLog | 4 ++ frysk-core/frysk/proc/dead/LinuxExeTask.java | 18 +-------- frysk-core/frysk/proc/dead/LinuxTask.java | 7 ---- frysk-core/frysk/proc/dummy/ChangeLog | 4 ++ frysk-core/frysk/proc/dummy/Task.java | 4 -- frysk-core/frysk/proc/live/ChangeLog | 4 ++ frysk-core/frysk/proc/live/LinuxTask.java | 8 ---- 11 files changed, 35 insertions(+), 75 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/bank/ChangeLog b/frysk-core/frysk/bank/ChangeLog index 563202e..a9d6c8f 100644 --- a/frysk-core/frysk/bank/ChangeLog +++ b/frysk-core/frysk/bank/ChangeLog @@ -1,5 +1,7 @@ 2007-12-20 Andrew Cagney + * RegisterBanks.java (getBanksFIXME()): New. + * RegisterMap.java: New file. * BankRegisterMap.java: Extend RegisterMap.java. * BankArrayRegisterMap.java: Ditto. diff --git a/frysk-core/frysk/bank/RegisterBanks.java b/frysk-core/frysk/bank/RegisterBanks.java index 61e80e6..f23e61c 100644 --- a/frysk-core/frysk/bank/RegisterBanks.java +++ b/frysk-core/frysk/bank/RegisterBanks.java @@ -112,4 +112,8 @@ public class RegisterBanks { bank.get(offset + bankRegister.getOffset(), bytes, start, (int)size); } + + public ByteBuffer[] getBanksFIXME() { + return banks; + } } diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog index 30067a8..7ef1b3a 100644 --- a/frysk-core/frysk/proc/ChangeLog +++ b/frysk-core/frysk/proc/ChangeLog @@ -1,5 +1,11 @@ 2007-12-20 Andrew Cagney + * Task.java (sendrecRegisterBuffersFIXME()): Delete. + (registerBuffers): Delete. + (getRegisterBuffersFIXME()): Update. + + * Task.java (getBigIntegerRegisterFIXME(String)): Delete. + * LinuxPPC32On64.java (getRegisterByName()): Delete. BankRegister renamed to BankArrayRegister. diff --git a/frysk-core/frysk/proc/Task.java b/frysk-core/frysk/proc/Task.java index 4043997..f22b1b0 100644 --- a/frysk-core/frysk/proc/Task.java +++ b/frysk-core/frysk/proc/Task.java @@ -51,10 +51,7 @@ import java.util.Observer; import java.util.Observable; import frysk.isa.Register; import frysk.isa.ISA; -import java.math.BigInteger; -import inua.eio.ByteOrder; import frysk.bank.RegisterBanks; -import frysk.bank.BankArrayRegister; public abstract class Task { @@ -1024,27 +1021,6 @@ public abstract class Task public LinkedList pendingObservations = new LinkedList(); /** - * Return the underlying bank register's value as a BigInteger. - * This is being used to read large register but for that there - * the more efficient access(Register) available for that. - */ - public BigInteger getBigIntegerRegisterFIXME(String name) { - BankArrayRegister bankRegister = getRegisterBanks().getBankArrayRegister(name); - byte[] bytes = new byte[bankRegister.getLength()]; - ByteBuffer b = getRegisterBuffersFIXME()[bankRegister.getBank()]; - b.get(bankRegister.getOffset(), bytes, 0, bankRegister.getLength()); - if (getISA().order() == ByteOrder.LITTLE_ENDIAN) { - for (int left = 0; left < bytes.length / 2; left++) { - int right = bytes.length - 1 - left; - byte temp = bytes[left]; - bytes[left] = bytes[right]; - bytes[right] = temp; - } - } - return new BigInteger(bytes); - } - - /** * Return the Task's Register as a long. */ public long getRegister(Register register) { @@ -1074,21 +1050,15 @@ public abstract class Task return registerBanks; } - private ByteBuffer[] registerBuffers; - protected abstract ByteBuffer[] sendrecRegisterBuffersFIXME(); - /** - * Return the machine's register banks as an array. - * - * XXX: This is being replaced by "getRegisterBanks()" that returns - * a class that abstracts the ByteArray[] + BankArrayRegister - * combination. - */ - public ByteBuffer[] getRegisterBuffersFIXME () - { - if (registerBuffers == null) - registerBuffers = sendrecRegisterBuffersFIXME(); - return registerBuffers; - } + /** + * Return the machine's register banks as an array of ByteBuffers. + * + * XXX: This is wrong. Clients cannot assume internal register + * layout. + */ + public ByteBuffer[] getRegisterBuffersFIXME () { + return getRegisterBanks().getBanksFIXME(); + } /** * The process has transitioned to the detached. @@ -1132,7 +1102,6 @@ public abstract class Task public void clearIsa() { isa = null; memory = null; - registerBuffers = null; registerBanks = null; currentISA = null; } diff --git a/frysk-core/frysk/proc/dead/ChangeLog b/frysk-core/frysk/proc/dead/ChangeLog index 79ea65b..3761395 100644 --- a/frysk-core/frysk/proc/dead/ChangeLog +++ b/frysk-core/frysk/proc/dead/ChangeLog @@ -1,5 +1,9 @@ 2007-12-20 Andrew Cagney + * LinuxTask.java (sendrecRegisterBuffersFIXME()): Delete. + * LinuxExeTask.java (sendrecRegisterBuffersFIXME()): Delete. + (sendrecRegisterBanks()): Update. + * CorefileRegisterBanksFactory.java: Update; RegisterBankArrayMap renamed to BankArrayRegisterMap. diff --git a/frysk-core/frysk/proc/dead/LinuxExeTask.java b/frysk-core/frysk/proc/dead/LinuxExeTask.java index 9b3f6de..03842e9 100644 --- a/frysk-core/frysk/proc/dead/LinuxExeTask.java +++ b/frysk-core/frysk/proc/dead/LinuxExeTask.java @@ -55,14 +55,10 @@ public class LinuxExeTask extends DeadTask LinuxExeProc proc = null; TaskId id = null; - // Holds all the register values, setup once in the constructor. - private final ByteBuffer[] bankBuffers; - protected LinuxExeTask(LinuxExeProc proc, TaskId id, TaskState state) { super(proc, id, state); this.proc = proc; this.id = id; - this.bankBuffers = sendrecRegisterBuffersFIXME(); // Fake PC. XXX should be done in Proc instead of creating Elf // object in the Task itself. @@ -99,26 +95,16 @@ public class LinuxExeTask extends DeadTask return this.proc.sendrecMemory(); } - /** - * sendrecRegisterBuffers fakes out what the register values are at this point - * as there is no info to be had at this moment in time. - */ - protected ByteBuffer[] sendrecRegisterBuffersFIXME() { + protected RegisterBanks sendrecRegisterBanks() { ByteBuffer[] bankBuffers = new ByteBuffer[4]; - - // Create an empty page + // Create an empty page byte[] emptyBuffer = new byte[4096]; for (int i = 0; i < emptyBuffer.length; i++) emptyBuffer[i] = 0; - bankBuffers[0] = new ArrayByteBuffer(emptyBuffer); bankBuffers[1] = new ArrayByteBuffer(emptyBuffer); bankBuffers[2] = new ArrayByteBuffer(emptyBuffer); bankBuffers[3] = new ArrayByteBuffer(emptyBuffer); - return bankBuffers; - } - - protected RegisterBanks sendrecRegisterBanks() { return CorefileRegisterBanksFactory.create (getISA(), bankBuffers); } diff --git a/frysk-core/frysk/proc/dead/LinuxTask.java b/frysk-core/frysk/proc/dead/LinuxTask.java index a514cb3..66660a6 100644 --- a/frysk-core/frysk/proc/dead/LinuxTask.java +++ b/frysk-core/frysk/proc/dead/LinuxTask.java @@ -125,13 +125,6 @@ public class LinuxTask extends DeadTask { } - protected ByteBuffer[] sendrecRegisterBuffersFIXME() { - // XXX: Have to return this here as this method is still used in - // tests. Cannot convert tests until Task,getRegisterBanks() is - // made public. - return simulateRegisterBanks(); - } - /** * Create a new unattached Task. */ diff --git a/frysk-core/frysk/proc/dummy/ChangeLog b/frysk-core/frysk/proc/dummy/ChangeLog index 35349ad..3dd971b 100644 --- a/frysk-core/frysk/proc/dummy/ChangeLog +++ b/frysk-core/frysk/proc/dummy/ChangeLog @@ -1,3 +1,7 @@ +2007-12-20 Andrew Cagney + + * Task.java (sendrecRegisterBuffersFIXME()): Delete. + 2007-10-17 Andrew Cagney * Host.java: Update; import frysk.proc.FindProc. diff --git a/frysk-core/frysk/proc/dummy/Task.java b/frysk-core/frysk/proc/dummy/Task.java index 5737179..7937ba4 100644 --- a/frysk-core/frysk/proc/dummy/Task.java +++ b/frysk-core/frysk/proc/dummy/Task.java @@ -68,10 +68,6 @@ public class Task { return null; } - protected ByteBuffer[] sendrecRegisterBuffersFIXME () - { - return null; - } protected RegisterBanks sendrecRegisterBanks() { return null; diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog index a4abbc4..f65c884 100644 --- a/frysk-core/frysk/proc/live/ChangeLog +++ b/frysk-core/frysk/proc/live/ChangeLog @@ -1,3 +1,7 @@ +2007-12-20 Andrew Cagney + + * LinuxTask.java (sendrecRegisterBuffersFIXME()): Delete. + 2007-12-19 Andrew Cagney Bank register code moved to frysk.bank. diff --git a/frysk-core/frysk/proc/live/LinuxTask.java b/frysk-core/frysk/proc/live/LinuxTask.java index 665b9ac..92b147a 100644 --- a/frysk-core/frysk/proc/live/LinuxTask.java +++ b/frysk-core/frysk/proc/live/LinuxTask.java @@ -115,14 +115,6 @@ public class LinuxTask extends LiveTask { return memory; } - /** - * Return the ISA's register-bank byte-buffers. - */ - protected ByteBuffer[] sendrecRegisterBuffersFIXME () - { - return getIsa().getRegisterBankBuffers(getTid()); - } - protected RegisterBanks sendrecRegisterBanks() { return PtraceRegisterBanksFactory.create(getISA(), getTid()); } hooks/post-receive -- frysk system monitor/debugger