aboutsummaryrefslogtreecommitdiff
path: root/acid/port
diff options
context:
space:
mode:
Diffstat (limited to 'acid/port')
-rw-r--r--acid/port31
1 files changed, 25 insertions, 6 deletions
diff --git a/acid/port b/acid/port
index d0d9107d..1e494530 100644
--- a/acid/port
+++ b/acid/port
@@ -33,10 +33,10 @@ notelstk(addr)
_stk({"PC", pc, "SP", sp, linkreg(addr)}, 1);
}
-defn labstk(l) // trace from a label
-{
- _stk({"PC", *(l+4), "SP", *l, linkreg(0)}, 0);
-}
+// defn labstk(l) // trace from a label
+// {
+// _stk({"PC", *(l+4), "SP", *l, linkreg(0)}, 0);
+// }
defn params(param)
{
@@ -64,8 +64,11 @@ defn locals(l)
}
}
-defn _stkign(file)
+defn _stkign(frame)
{
+ local file;
+
+ file = pcfile(frame[0]);
s = stkignore;
while s do {
if regexp(head s, file) then
@@ -85,7 +88,7 @@ defn _stk(regs, dolocals)
stk = strace(regs);
if stkignore then {
- while stk && tail stk && _stkign((head tail stk)[1]) do
+ while stk && tail stk && _stkign(head tail stk) do
stk = tail stk;
}
@@ -595,5 +598,21 @@ defn spsrch(len)
}
}
+defn acidtypes()
+{
+ local syms;
+ local l;
+
+ l = textfile();
+ if l != {} then {
+ syms = "acidtypes";
+ while l != {} do {
+ syms = syms + " " + ((head l)[0]);
+ l = tail l;
+ }
+ includepipe(syms);
+ }
+}
+
progargs="";
print(acidfile);