From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16960 invoked by alias); 21 May 2008 18:57:37 -0000 Received: (qmail 16935 invoked by uid 9561); 21 May 2008 18:57:37 -0000 Date: Wed, 21 May 2008 18:57:00 -0000 Message-ID: <20080521185737.16920.qmail@sourceware.org> From: swagiaal@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: swagiaal: ObjectDeclarationSearchEngine: Constructor now requires Task instead Frame. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: bca04cf8014a6ab4995b3af8abef6e2bf0d5a797 X-Git-Newrev: 8a099003e4e25fd7e518d3c29a298aa2af966626 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: 2008-q2/txt/msg00262.txt.bz2 The branch, master has been updated via 8a099003e4e25fd7e518d3c29a298aa2af966626 (commit) from bca04cf8014a6ab4995b3af8abef6e2bf0d5a797 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 8a099003e4e25fd7e518d3c29a298aa2af966626 Author: Sami Wagiaalla Date: Wed May 21 14:34:17 2008 -0400 swagiaal: ObjectDeclarationSearchEngine: Constructor now requires Task instead Frame. frysk-core/frysk/debuginfo/ChangeLog +2008-05-21 Sami Wagiaalla + + * ObjectDeclarationSearchEngine.java + (ObjectDeclarationSearchEngine): Constructor + now requires Task instead Frame. + * TestObjectDeclarationSearchEngineTopDown.java + (verifyObjectFound): Updated. + * TestAddress.java (testAddress): Updated. + * TestGccInterface.java (getType): Updated. + * TestGccClass.java: Updated. + * TestObjectDeclarationSearchEngine.java: Updated. + +2008-05-21 Sami Wagiaalla + + * DebugInfo.java: Updated. + * ObjectDeclarationSearchEngine.java: Moved + Non search methods to frysk.symtab.ExpressionSearchEnigne. + frysk-core/frysk/expr/ChangeLog +2008-05-20 Sami Wagiaalla + + * ExprSearchEngine.java: New. + frysk-core/frysk/hpd/ChangeLog +2008-05-21 Sami Wagiaalla + + ObjectDeclarationSearchEngine: Constructor now + requires Task instead Frame. + * TestBreakpoints.java: Updated. + * BreakpointCommand.java: Updated. + * CLI.java: Updated. + * CompletionFactory.java: Updated. + * ListCommand.java: Updated. + frysk-core/frysk/proc/live/ChangeLog +2008-05-21 Sami Wagiaalla + + ObjectDeclarationSearchEngine constructor now + requires Task instead Frame. + * Breakpoint.java: Updated. + ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/debuginfo/ChangeLog | 20 +++++- frysk-core/frysk/debuginfo/DebugInfo.java | 5 +- .../debuginfo/ObjectDeclarationSearchEngine.java | 72 +------------------ frysk-core/frysk/debuginfo/TestAddress.java | 2 +- frysk-core/frysk/debuginfo/TestGccClass.java | 2 +- frysk-core/frysk/debuginfo/TestGccInterface.java | 11 ++-- .../TestObjectDeclarationSearchEngine.java | 6 +- .../TestObjectDeclarationSearchEngineTopDown.java | 5 +- frysk-core/frysk/expr/ChangeLog | 4 + frysk-core/frysk/hpd/BreakpointCommand.java | 5 +- frysk-core/frysk/hpd/CLI.java | 4 +- frysk-core/frysk/hpd/ChangeLog | 10 +++ frysk-core/frysk/hpd/CompletionFactory.java | 4 +- frysk-core/frysk/hpd/ListCommand.java | 2 +- frysk-core/frysk/proc/live/ChangeLog | 6 ++ frysk-core/frysk/scopes/TestDie.java | 2 +- 16 files changed, 65 insertions(+), 95 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/debuginfo/ChangeLog b/frysk-core/frysk/debuginfo/ChangeLog index 39b38fb..b45342a 100644 --- a/frysk-core/frysk/debuginfo/ChangeLog +++ b/frysk-core/frysk/debuginfo/ChangeLog @@ -1,8 +1,26 @@ +2008-05-21 Sami Wagiaalla + + * ObjectDeclarationSearchEngine.java + (ObjectDeclarationSearchEngine): Constructor + now requires Task instead Frame. + * TestObjectDeclarationSearchEngineTopDown.java + (verifyObjectFound): Updated. + * TestAddress.java (testAddress): Updated. + * TestGccInterface.java (getType): Updated. + * TestGccClass.java: Updated. + * TestObjectDeclarationSearchEngine.java: Updated. + +2008-05-21 Sami Wagiaalla + + * DebugInfo.java: Updated. + * ObjectDeclarationSearchEngine.java: Moved + Non search methods to frysk.symtab.ExpressionSearchEnigne. + 2008-05-20 Sami Wagiaalla * ObjectDeclarationSearchEngine.java (getObjectUsingBinaryInfo): Now takes a frame argument. - + 2008-05-16 Sami Wagiaalla * ObjectDeclarationSearchEngine.java (getObjectInScope): Added diff --git a/frysk-core/frysk/debuginfo/DebugInfo.java b/frysk-core/frysk/debuginfo/DebugInfo.java index b9fa982..adff272 100644 --- a/frysk-core/frysk/debuginfo/DebugInfo.java +++ b/frysk-core/frysk/debuginfo/DebugInfo.java @@ -39,6 +39,7 @@ package frysk.debuginfo; +import frysk.expr.ExprSearchEngine; import frysk.expr.ExpressionFactory; import frysk.dwfl.DwflCache; import frysk.proc.Proc; @@ -138,8 +139,8 @@ public class DebugInfo { * Implement the cli print request. */ public Value print(String expression, DebugInfoFrame frame) { - ObjectDeclarationSearchEngine symTab - = new ObjectDeclarationSearchEngine(frame); + ExprSearchEngine symTab + = new ExprSearchEngine(frame); return ExpressionFactory.parse(symTab, expression).getValue(); } diff --git a/frysk-core/frysk/debuginfo/ObjectDeclarationSearchEngine.java b/frysk-core/frysk/debuginfo/ObjectDeclarationSearchEngine.java index 9ddb0c0..d85815d 100644 --- a/frysk-core/frysk/debuginfo/ObjectDeclarationSearchEngine.java +++ b/frysk-core/frysk/debuginfo/ObjectDeclarationSearchEngine.java @@ -39,35 +39,25 @@ package frysk.debuginfo; -import inua.eio.ByteBuffer; -import inua.eio.ByteOrder; - import java.io.File; import java.util.Iterator; import java.util.LinkedList; -import java.util.List; import lib.dwfl.Dwarf; import lib.dwfl.DwarfCommand; import lib.dwfl.DwarfDie; import lib.dwfl.Dwfl; -import lib.dwfl.DwflDieBias; import lib.dwfl.DwflModule; import lib.dwfl.Elf; import lib.dwfl.ElfCommand; import lib.dwfl.SymbolBuilder; import frysk.dwfl.DwflCache; -import frysk.expr.ExprSymTab; -import frysk.isa.registers.Register; -import frysk.isa.registers.Registers; -import frysk.isa.registers.RegistersFactory; import frysk.proc.Task; import frysk.scopes.Scope; import frysk.scopes.ScopeFactory; import frysk.scopes.Variable; import frysk.symtab.SymbolObjectDeclaration; import frysk.value.ObjectDeclaration; -import frysk.value.Value; /** * This engine implements the c++ scoping rules and uses when searching for @@ -76,14 +66,12 @@ import frysk.value.Value; * given frame, and return the first encounter. * */ -public class ObjectDeclarationSearchEngine implements ExprSymTab{ +public class ObjectDeclarationSearchEngine{ - private final DebugInfoFrame frame; private final Task task; - public ObjectDeclarationSearchEngine(DebugInfoFrame frame) { - this.frame = frame; - this.task = frame.getTask(); + public ObjectDeclarationSearchEngine(Task task) { + this.task = task; } /** @@ -171,7 +159,7 @@ public class ObjectDeclarationSearchEngine implements ExprSymTab{ public ObjectDeclaration getObjectUsingBinaryInfo(DebugInfoFrame frame, String name){ Dwfl dwfl = DwflCache.getDwfl(task); - DwflModule module = dwfl.getModule(this.frame.getAdjustedAddress()); + DwflModule module = dwfl.getModule(frame.getAdjustedAddress()); if(module == null){ throw new RuntimeException("Module could not be found for this process"); @@ -209,56 +197,4 @@ public class ObjectDeclarationSearchEngine implements ExprSymTab{ throw new ObjectDeclarationNotFoundException(name); } - public Value getValue(String s) { - if (s.charAt(0) == '$') { - Registers regs = RegistersFactory.getRegisters(frame.getTask() - .getISA()); - String regName = s.substring(1).trim(); - Register reg = regs.getRegister(regName); - if (reg == null) { - throw new RuntimeException("unknown register: " + regName); - } - List pieces = new LinkedList(); - pieces.add(new RegisterPiece(reg, reg.getType().getSize(), frame)); - return new Value(reg.getType(), new PieceLocation(pieces)); - } - - ObjectDeclaration objectDeclaration = this.getObjectInScope(frame, s); - return objectDeclaration.getValue(frame); - } - - /** - * XXX: Who knows if this works; it is certainly not implemented - * correctly as it should use the ObjectDeclaration. - */ - public void complete(String incomplete, List candidates) { - long pc = frame.getAdjustedAddress(); - Dwfl dwfl = DwflCache.getDwfl(frame.getTask()); - DwflDieBias bias = dwfl.getCompilationUnit(pc); - DwarfDie die = bias.die; - DwarfDie[] allDies = die.getScopes(pc - bias.bias); - List candidates_p = die.getScopeVarNames(allDies, incomplete); - for (Iterator i = candidates_p.iterator(); i.hasNext();) { - String sNext = (String) i.next(); - candidates.add(sNext); - } - } - - - public ByteOrder order() - { - return task.getISA().order(); - } - - public ByteBuffer taskMemory() - { - return task.getMemory(); - } - - public int getWordSize() - { - return task.getISA().wordSize(); - } - - } diff --git a/frysk-core/frysk/debuginfo/TestAddress.java b/frysk-core/frysk/debuginfo/TestAddress.java index fa58830..d0626ea 100644 --- a/frysk-core/frysk/debuginfo/TestAddress.java +++ b/frysk-core/frysk/debuginfo/TestAddress.java @@ -79,7 +79,7 @@ public class TestAddress { DebugInfoFrame frame = DebugInfoStackFactory.createDebugInfoStackTrace (getStoppedTask()); - ObjectDeclarationSearchEngine declarationSearchEngine = new ObjectDeclarationSearchEngine(frame); + ObjectDeclarationSearchEngine declarationSearchEngine = new ObjectDeclarationSearchEngine(getStoppedTask()); /* Evaluate the location of the variable. */ diff --git a/frysk-core/frysk/debuginfo/TestGccClass.java b/frysk-core/frysk/debuginfo/TestGccClass.java index dbdbb16..e3e6ee6 100644 --- a/frysk-core/frysk/debuginfo/TestGccClass.java +++ b/frysk-core/frysk/debuginfo/TestGccClass.java @@ -63,7 +63,7 @@ public class TestGccClass extends TestCase { log.log(this, "Got debug frame: ", frame); ObjectDeclarationSearchEngine objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine( - frame); + task); log.log(this, "Got search engine: ", objectDeclarationSearchEngine); diff --git a/frysk-core/frysk/debuginfo/TestGccInterface.java b/frysk-core/frysk/debuginfo/TestGccInterface.java index 63348c7..51262a0 100644 --- a/frysk-core/frysk/debuginfo/TestGccInterface.java +++ b/frysk-core/frysk/debuginfo/TestGccInterface.java @@ -39,14 +39,14 @@ package frysk.debuginfo; -import frysk.testbed.TestLib; -import frysk.proc.Task; -import frysk.testbed.DaemonBlockedAtSignal; import frysk.config.BuildCompiler; -import frysk.value.Type; +import frysk.proc.Task; import frysk.scopes.Variable; +import frysk.testbed.DaemonBlockedAtSignal; +import frysk.testbed.TestLib; import frysk.value.CompositeType; import frysk.value.PointerType; +import frysk.value.Type; public class TestGccInterface extends TestLib { @@ -55,8 +55,7 @@ public class TestGccInterface extends TestLib { DebugInfoFrame frame = DebugInfoStackFactory .createDebugInfoStackTrace(task); - ObjectDeclarationSearchEngine objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine( - frame); + ObjectDeclarationSearchEngine objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(task); Variable variable = (Variable) objectDeclarationSearchEngine .getObjectInScope(frame, variableName); diff --git a/frysk-core/frysk/debuginfo/TestObjectDeclarationSearchEngine.java b/frysk-core/frysk/debuginfo/TestObjectDeclarationSearchEngine.java index 0678bbc..8f12815 100644 --- a/frysk-core/frysk/debuginfo/TestObjectDeclarationSearchEngine.java +++ b/frysk-core/frysk/debuginfo/TestObjectDeclarationSearchEngine.java @@ -123,7 +123,7 @@ public class TestObjectDeclarationSearchEngine extends TestLib{ Task task = (new DaemonBlockedAtSignal(fileName)).getMainTask(); DebugInfoFrame frame = DebugInfoStackFactory.createVirtualStackTrace(task); - objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(frame); + objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(task); ObjectDeclaration declaredObject = objectDeclarationSearchEngine.getObjectInScope(frame, variableName); @@ -187,7 +187,7 @@ public class TestObjectDeclarationSearchEngine extends TestLib{ int variableLine = scanner.findTokenLine(variableToken); Task task = (new DaemonBlockedAtSignal(fileName)).getMainTask(); DebugInfoFrame frame = DebugInfoStackFactory.createVirtualStackTrace(task); - objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(frame); + objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(task); ObjectDeclaration objectDeclaration = (ObjectDeclaration) objectDeclarationSearchEngine.getObjectInScope(frame, variableName); assertNotNull("Variable found", objectDeclaration); @@ -231,7 +231,7 @@ public class TestObjectDeclarationSearchEngine extends TestLib{ Task task = (new DaemonBlockedAtSignal(fileName)).getMainTask(); DebugInfoFrame frame = DebugInfoStackFactory.createVirtualStackTrace(task); assertNotNull("frame object created", frame); - objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(frame); + objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(task); ObjectDeclaration objectDeclaration = (ObjectDeclaration) objectDeclarationSearchEngine.getObjectInScope(frame, variableName); assertNotNull("Variable found", objectDeclaration); diff --git a/frysk-core/frysk/debuginfo/TestObjectDeclarationSearchEngineTopDown.java b/frysk-core/frysk/debuginfo/TestObjectDeclarationSearchEngineTopDown.java index 1d42ea9..b781651 100644 --- a/frysk-core/frysk/debuginfo/TestObjectDeclarationSearchEngineTopDown.java +++ b/frysk-core/frysk/debuginfo/TestObjectDeclarationSearchEngineTopDown.java @@ -98,9 +98,8 @@ public class TestObjectDeclarationSearchEngineTopDown extends TestLib { int objectLine = scanner.findTokenLine(objectToken); Task task = (new DaemonBlockedAtSignal(fileName)).getMainTask(); - DebugInfoFrame frame = DebugInfoStackFactory - .createVirtualStackTrace(task); - objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(frame); + + objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(task); ObjectDeclaration objectDeclaration = (ObjectDeclaration) objectDeclarationSearchEngine .getObject(objectName).getFirst(); diff --git a/frysk-core/frysk/expr/ChangeLog b/frysk-core/frysk/expr/ChangeLog index a0c6a2e..ae21bf8 100644 --- a/frysk-core/frysk/expr/ChangeLog +++ b/frysk-core/frysk/expr/ChangeLog @@ -1,3 +1,7 @@ +2008-05-20 Sami Wagiaalla + + * ExprSearchEngine.java: New. + 2008-05-16 Sami Wagiaalla Added frame requirement to diff --git a/frysk-core/frysk/hpd/BreakpointCommand.java b/frysk-core/frysk/hpd/BreakpointCommand.java index d6fcbc8..a732c80 100644 --- a/frysk-core/frysk/hpd/BreakpointCommand.java +++ b/frysk-core/frysk/hpd/BreakpointCommand.java @@ -46,8 +46,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -import frysk.debuginfo.DebugInfoFrame; -import frysk.debuginfo.DebugInfoStackFactory; import frysk.debuginfo.ObjectDeclarationSearchEngine; import frysk.event.Event; import frysk.proc.Manager; @@ -142,8 +140,7 @@ class BreakpointCommand extends ParameterizedCommand { } else { while (taskIter.hasNext()) { Task task = (Task) taskIter.next(); - DebugInfoFrame frame = DebugInfoStackFactory.createDebugInfoStackTrace(task); - ObjectDeclarationSearchEngine declarationSearchEngine = new ObjectDeclarationSearchEngine(frame); + ObjectDeclarationSearchEngine declarationSearchEngine = new ObjectDeclarationSearchEngine(task); if (declarationSearchEngine != null) { diff --git a/frysk-core/frysk/hpd/CLI.java b/frysk-core/frysk/hpd/CLI.java index cd02365..fbad1c1 100644 --- a/frysk-core/frysk/hpd/CLI.java +++ b/frysk-core/frysk/hpd/CLI.java @@ -39,7 +39,6 @@ package frysk.hpd; -import frysk.debuginfo.ObjectDeclarationSearchEngine; import java.io.PrintWriter; import java.io.Writer; import java.util.HashMap; @@ -65,6 +64,7 @@ import frysk.sys.Signal; import frysk.util.CountDownLatch; import frysk.util.WordWrapWriter; import frysk.event.SignalEvent; +import frysk.expr.ExprSearchEngine; import frysk.expr.Expression; import frysk.expr.ScratchSymTab; import frysk.expr.ExprSymTab; @@ -220,7 +220,7 @@ public class CLI { symTab = new ScratchSymTab(); } else { DebugInfoFrame frame = getTaskFrame(task); - symTab = new ObjectDeclarationSearchEngine(frame); + symTab = new ExprSearchEngine(frame); } return ExpressionFactory.parse(symTab, expression); } diff --git a/frysk-core/frysk/hpd/ChangeLog b/frysk-core/frysk/hpd/ChangeLog index 4d0fd14..a0cc82a 100644 --- a/frysk-core/frysk/hpd/ChangeLog +++ b/frysk-core/frysk/hpd/ChangeLog @@ -1,3 +1,13 @@ +2008-05-21 Sami Wagiaalla + + ObjectDeclarationSearchEngine: Constructor now + requires Task instead Frame. + * TestBreakpoints.java: Updated. + * BreakpointCommand.java: Updated. + * CLI.java: Updated. + * CompletionFactory.java: Updated. + * ListCommand.java: Updated. + 2008-05-15 Sami Wagiaalla ObjectDeclarationSearchEngine.getObject() now returns a list. diff --git a/frysk-core/frysk/hpd/CompletionFactory.java b/frysk-core/frysk/hpd/CompletionFactory.java index 44567af..3f2de2a 100644 --- a/frysk-core/frysk/hpd/CompletionFactory.java +++ b/frysk-core/frysk/hpd/CompletionFactory.java @@ -44,8 +44,8 @@ import java.util.Iterator; import frysk.debuginfo.DebugInfoFrame; import frysk.proc.Task; import jline.FileNameCompletor; +import frysk.expr.ExprSearchEngine; import frysk.expr.ExpressionFactory; -import frysk.debuginfo.ObjectDeclarationSearchEngine; /** * A collection of completers. @@ -77,7 +77,7 @@ class CompletionFactory { Task task = (Task)i.next(); DebugInfoFrame frame = cli.getTaskFrame(task); int tmp = ExpressionFactory.complete - (new ObjectDeclarationSearchEngine(frame), + (new ExprSearchEngine(frame), incomplete, cursor - start, candidates); if (tmp >= 0) newOffset = tmp; diff --git a/frysk-core/frysk/hpd/ListCommand.java b/frysk-core/frysk/hpd/ListCommand.java index 6844dd5..b46b283 100644 --- a/frysk-core/frysk/hpd/ListCommand.java +++ b/frysk-core/frysk/hpd/ListCommand.java @@ -210,7 +210,7 @@ class ListCommand extends ParameterizedCommand { Function function = null; - ObjectDeclarationSearchEngine declarationSearchEngine = new ObjectDeclarationSearchEngine(frame); + ObjectDeclarationSearchEngine declarationSearchEngine = new ObjectDeclarationSearchEngine(task); LinkedList functions = declarationSearchEngine.getObject(cmdParm); //XXX: should this use declarationSearchEngine.getObjectInScope(cmdParm) diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog index 211ec66..6f68db7 100644 --- a/frysk-core/frysk/proc/live/ChangeLog +++ b/frysk-core/frysk/proc/live/ChangeLog @@ -1,3 +1,9 @@ +2008-05-21 Sami Wagiaalla + + ObjectDeclarationSearchEngine constructor now + requires Task instead Frame. + * Breakpoint.java: Updated. + 2008-05-20 Andrew Cagney * LinuxPtraceProc.java (buildBuffer(byte[])): Delete. diff --git a/frysk-core/frysk/scopes/TestDie.java b/frysk-core/frysk/scopes/TestDie.java index 00bf1f0..775d5fb 100644 --- a/frysk-core/frysk/scopes/TestDie.java +++ b/frysk-core/frysk/scopes/TestDie.java @@ -68,7 +68,7 @@ public class TestDie String fileName = "funit-cpp-scopes-namespace"; Task task = (new DaemonBlockedAtSignal(fileName)).getMainTask(); DebugInfoFrame frame = DebugInfoStackFactory.createDebugInfoStackTrace(task); - ObjectDeclarationSearchEngine objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(frame); + ObjectDeclarationSearchEngine objectDeclarationSearchEngine = new ObjectDeclarationSearchEngine(task); Variable variable = (Variable) objectDeclarationSearchEngine.getObjectInScope(frame, "first"); hooks/post-receive -- frysk system monitor/debugger