public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: swagiaal@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: swagiaal: ObjectDeclarationSearchEngine: Constructor now requires Task instead Frame. Date: Wed, 21 May 2008 18:57:00 -0000 [thread overview] Message-ID: <20080521185737.16920.qmail@sourceware.org> (raw) 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 <swagiaal@redhat.com> 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 <swagiaal@redhat.com> + + * 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 <swagiaal@redhat.com> + + * DebugInfo.java: Updated. + * ObjectDeclarationSearchEngine.java: Moved + Non search methods to frysk.symtab.ExpressionSearchEnigne. + frysk-core/frysk/expr/ChangeLog +2008-05-20 Sami Wagiaalla <swagiaal@redhat.com> + + * ExprSearchEngine.java: New. + frysk-core/frysk/hpd/ChangeLog +2008-05-21 Sami Wagiaalla <swagiaal@redhat.com> + + 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 <swagiaal@redhat.com> + + 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 <swagiaal@redhat.com> + + * 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 <swagiaal@redhat.com> + + * DebugInfo.java: Updated. + * ObjectDeclarationSearchEngine.java: Moved + Non search methods to frysk.symtab.ExpressionSearchEnigne. + 2008-05-20 Sami Wagiaalla <swagiaal@redhat.com> * ObjectDeclarationSearchEngine.java (getObjectUsingBinaryInfo): Now takes a frame argument. - + 2008-05-16 Sami Wagiaalla <swagiaal@redhat.com> * 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 <swagiaal@redhat.com> + + * ExprSearchEngine.java: New. + 2008-05-16 Sami Wagiaalla <swagiaal@redhat.com> 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 <swagiaal@redhat.com> + + 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 <swagiaal@redhat.com> 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 <swagiaal@redhat.com> + + ObjectDeclarationSearchEngine constructor now + requires Task instead Frame. + * Breakpoint.java: Updated. + 2008-05-20 Andrew Cagney <cagney@redhat.com> * 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
reply other threads:[~2008-05-21 18:57 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20080521185737.16920.qmail@sourceware.org \ --to=swagiaal@sourceware.org \ --cc=frysk-cvs@sourceware.org \ --cc=frysk@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).