Austin Clements
ad9c6f7700
Rudimentary command shell for Ogle. Hack to prevent linker
...
from inlining newprocreadylocked. Fix type bridge's handling
of basic types. Include interpreter's Thread in bridged
native function calls.
; load . "6.out"
Started 6.out
; BpSet("main·merge")
; ContWait()
breakpoint at 0x400800
=> 400800 main·merge /home/austin/src-go1/usr/austin/ptrace/test/sort.go:19
; bt
=> 400800 main·merge /home/austin/src-go1/usr/austin/ptrace/test/sort.go:19
400b6a main·mergeSort+0x1be /home/austin/src-go1/usr/austin/ptrace/test/sort.go:34
448313 goexit /home/austin/src-go1/src/pkg/runtime/proc.c:133
; main.merge.a
{1}
; load . "pid:25753"
Attached to 25753
; bt
=> 479ddf syscall·Syscall+0x24 /home/austin/src-go1/src/pkg/syscall/asm_linux_amd64.s:24
47c011 syscall·Read+0x5d /home/austin/src-go1/src/pkg/syscall/zsyscall_linux_amd64.go:368
4119e5 os·*File·Read+0x5f /home/austin/src-go1/src/pkg/os/file.go:122
427bf3 bufio·*Reader·fill+0x116 /home/austin/src-go1/src/pkg/bufio/bufio.go:105
428361 bufio·*Reader·ReadSlice+0x195 /home/austin/src-go1/src/pkg/bufio/bufio.go:244
40204a ogle·Main+0x94 /home/austin/src-go1/usr/austin/ogle/cmd.go:226
40080f main·main+0xf /home/austin/src-go1/usr/austin/ogle/main.go:6
41c4b8 mainstart+0xf /home/austin/src-go1/src/pkg/runtime/amd64/asm.s:55
41531f goexit /home/austin/src-go1/src/pkg/runtime/proc.c:133
R=rsc
APPROVED=rsc
DELTA=433 (420 added, 2 deleted, 11 changed)
OCL=34410
CL=34782
2009-09-18 09:11:19 -07:00
Austin Clements
20583b5874
Implement remote variables
...
R=rsc
APPROVED=rsc
DELTA=282 (281 added, 0 deleted, 1 changed)
OCL=34407
CL=34781
2009-09-18 09:09:40 -07:00
Russ Cox
ae54cf73ca
last round: non-package code
...
R=r
DELTA=127 (38 added, 3 deleted, 86 changed)
OCL=34640
CL=34650
2009-09-15 12:42:24 -07:00
Austin Clements
eabcb10a32
Don't crash in Sym.ReceiverName for symbols like "x.x"
...
R=rsc
APPROVED=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=34404
CL=34406
2009-09-04 16:12:50 -07:00
Russ Cox
c702bdd828
script for running test programs in interpreter.
...
tweak test/literal.go to give more information.
R=austin
DELTA=45 (43 added, 0 deleted, 2 changed)
OCL=34381
CL=34398
2009-09-04 13:04:11 -07:00
Austin Clements
c7d27f88f8
Make world.Define{Const,Var} indicate if the definition was
...
successful.
R=rsc
APPROVED=rsc
DELTA=43 (31 added, 0 deleted, 12 changed)
OCL=34375
CL=34397
2009-09-04 12:55:25 -07:00
Austin Clements
fdf5efe43c
Update debugger to use Abort interface
...
R=rsc
APPROVED=rsc
DELTA=314 (132 added, 2 deleted, 180 changed)
OCL=34376
CL=34396
2009-09-04 11:58:00 -07:00
Austin Clements
05522cd51e
s/Thread/Goroutine/
...
R=rsc
APPROVED=rsc
DELTA=328 (112 added, 110 deleted, 106 changed)
OCL=34356
CL=34356
2009-09-03 17:41:25 -07:00
Russ Cox
920c6106ca
top-level func
...
R=austin
DELTA=21 (5 added, 10 deleted, 6 changed)
OCL=34355
CL=34355
2009-09-03 17:22:20 -07:00
Austin Clements
851497bc65
Thread Thread into Value Get/Set/Assign so other Value
...
implementations can abort. Make genConstant get values lazily
since we need the Thread now.
R=rsc
APPROVED=rsc
DELTA=299 (8 added, 19 deleted, 272 changed)
OCL=34353
CL=34353
2009-09-03 17:14:49 -07:00
Austin Clements
db27b5bcb1
Implement Go threads. Implement a general event system
...
including breakpoints and Go thread create/exit.
R=rsc
APPROVED=rsc
DELTA=751 (729 added, 6 deleted, 16 changed)
OCL=34345
CL=34351
2009-09-03 16:59:41 -07:00
Russ Cox
dcb1c5f5d4
convert testing to World.
...
start on Decl, but not working yet
R=austin
DELTA=762 (201 added, 205 deleted, 356 changed)
OCL=34335
CL=34349
2009-09-03 16:20:49 -07:00
Austin Clements
37aa6c9962
Fix uninstalling of breakpoints when a process exits. Process
...
exit is still handled poorly.
R=rsc
APPROVED=rsc
DELTA=6 (6 added, 0 deleted, 0 changed)
OCL=34288
CL=34315
2009-09-03 10:55:20 -07:00
Russ Cox
c9edbbd4d0
convenience wrapper
...
R=austin
DELTA=142 (128 added, 4 deleted, 10 changed)
OCL=34275
CL=34284
2009-09-02 17:15:43 -07:00
Russ Cox
dd7b583179
move abortChan into Thread.
...
reuse Thread in function calls.
R=austin
DELTA=59 (8 added, 7 deleted, 44 changed)
OCL=34266
CL=34266
2009-09-02 14:11:40 -07:00
Russ Cox
747cde8161
s/vm/Thread/
...
change eval functions from taking *Frame to *Thread
R=austin
DELTA=500 (7 added, 4 deleted, 489 changed)
OCL=34256
CL=34260
2009-09-02 12:03:20 -07:00
Austin Clements
72a11c5752
Update asInterface now that 6g type switch is fixed.
...
R=rsc
APPROVED=rsc
DELTA=31 (0 added, 4 deleted, 27 changed)
OCL=34251
CL=34259
2009-09-02 11:59:53 -07:00
Russ Cox
e905cb2df7
add generator for expr1.go
...
R=austin
DELTA=959 (404 added, 99 deleted, 456 changed)
OCL=34214
CL=34237
2009-09-01 22:57:53 -07:00
Austin Clements
ad9fabd769
Interpreter unit tests for statements and expressions
...
R=rsc
APPROVED=rsc
DELTA=1003 (1003 added, 0 deleted, 0 changed)
OCL=34223
CL=34227
2009-09-01 17:21:44 -07:00
Austin Clements
264641711b
Switch back to returning Value from the public expression
...
interface, but implement it better this time. Also, work
around a 6g bug in asInterface.
R=rsc
APPROVED=rsc
DELTA=39 (13 added, 1 deleted, 25 changed)
OCL=34211
CL=34217
2009-09-01 16:17:50 -07:00
Austin Clements
3dfbfdabce
Clean up the statement and expression public interfaces. The
...
only visible change is that evaluating an expression returns a
interface{} instead of a Value.
R=rsc
APPROVED=rsc
DELTA=60 (15 added, 26 deleted, 19 changed)
OCL=34206
CL=34208
2009-09-01 14:16:51 -07:00
Austin Clements
155fe7925b
Add stack frame support. Architectures are now responsible
...
for decoding closures. There is now no notion of a current OS
thread, though that needs to come back in the form of a
current Go thread. As a result, Process now implements Peek
and Poke and maps them to any stopped OS thread, since they
all share the address space anyways.
R=rsc
APPROVED=rsc
DELTA=322 (310 added, 3 deleted, 9 changed)
OCL=34136
CL=34201
2009-09-01 13:01:37 -07:00
Russ Cox
8c7eb44249
move generated code into its own file.
...
simplify expr by merging all simple eval functions
into a single eval interface{}.
R=austin
DELTA=1597 (730 added, 780 deleted, 87 changed)
OCL=34182
CL=34198
2009-09-01 11:51:33 -07:00
Austin Clements
30dcb13420
Split decls.go up, taking advantage of whole-package
...
compilation to put the definitions in reasonable places. No
code changes, just movement.
R=rsc
APPROVED=rsc
DELTA=479 (232 added, 247 deleted, 0 changed)
OCL=34067
CL=34069
2009-08-28 18:25:56 -07:00
Austin Clements
345c1bd473
Debugged processes, remote values, and remote type parser
...
R=rsc
APPROVED=rsc
DELTA=917 (917 added, 0 deleted, 0 changed)
OCL=34049
CL=34066
2009-08-28 18:04:35 -07:00
Austin Clements
0a969fa983
Debugger's remote runtime definitions.
...
R=rsc
APPROVED=rsc
DELTA=237 (237 added, 0 deleted, 0 changed)
OCL=33966
CL=34065
2009-08-28 18:04:18 -07:00
Austin Clements
c90bc34d75
Implement cap, len, and make, as well as the general framework
...
for built-in functions and type conversions. Extract out
common operations on expression nodes for converting them to
ints and implicitly dereferencing arrays.
R=rsc
APPROVED=rsc
DELTA=442 (365 added, 50 deleted, 27 changed)
OCL=34064
CL=34064
2009-08-28 18:03:03 -07:00
Austin Clements
d11a4b0dd4
Fix named types being defined to named types. In general, the
...
code assumes that the definition of a named type is not a
named type, but some code paths could violate that.
R=rsc
APPROVED=rsc
DELTA=9 (5 added, 2 deleted, 2 changed)
OCL=34046
CL=34053
2009-08-28 14:39:12 -07:00
Austin Clements
8fdc5b6041
Give NamedTypes a public interface
...
R=rsc
APPROVED=rsc
DELTA=32 (14 added, 1 deleted, 17 changed)
OCL=34043
CL=34043
2009-08-28 12:45:30 -07:00
Austin Clements
9d517ba3fd
Implement runtime errors, divide-by-zero checking, nil pointer
...
checking, bounds checking, and map key checking.
R=rsc
APPROVED=rsc
DELTA=202 (108 added, 72 deleted, 22 changed)
OCL=33981
CL=34031
2009-08-28 10:39:57 -07:00
Austin Clements
e653280cad
Utilities to bridge native types and functions into
...
interpreter values. Also, print nil values properly.
R=rsc
APPROVED=rsc
DELTA=173 (173 added, 0 deleted, 0 changed)
OCL=33837
CL=33973
2009-08-27 13:11:06 -07:00
Austin Clements
ea62b3441f
Debugger architecture interface and definitions for AMD64.
...
R=rsc
APPROVED=rsc
DELTA=114 (114 added, 0 deleted, 0 changed)
OCL=33957
CL=33962
2009-08-27 11:24:13 -07:00
Austin Clements
c0dd9f526b
Make the statement compiler not use the AST visitor.
...
In the process, I made error handling in the statement
compiler much saner. Instead of separately tracking various
error flags with weird relations, I just track if any error
messages have been produced.
R=rsc
APPROVED=rsc
DELTA=308 (98 added, 135 deleted, 75 changed)
OCL=33870
CL=33961
2009-08-27 11:21:52 -07:00
Russ Cox
4b409289f6
remove Line in bufio.ReadLine(Bytes|Slice|String)
...
also drop bool arg from ReadString
R=r
DELTA=45 (13 added, 1 deleted, 31 changed)
OCL=33923
CL=33960
2009-08-27 11:20:15 -07:00
Austin Clements
36eee6d1e1
Make the expression compiler not use the AST visitor. The
...
statement compiler will be fixed in a later CL.
The input and output of the expression compiler are now
clearly distinguished. In the process, I made the individual
expression compilers operate on the compiled form of their
children instead of AST nodes. As a result, there are now
fewer places where I hand-craft intermediate expression nodes.
The diff looks scarier than it is, mostly because exprCompiler
has been split into the input and output types, resulting in
lots of little renames.
R=rsc
APPROVED=rsc
DELTA=774 (204 added, 199 deleted, 371 changed)
OCL=33851
CL=33851
2009-08-25 17:57:40 -07:00
Russ Cox
67815ef65b
checkpoint & test (pidigits) before trying to automate.
...
R=r
DELTA=616 (598 added, 11 deleted, 7 changed)
OCL=33846
CL=33848
2009-08-25 15:37:22 -07:00
Russ Cox
75a38963ca
cgocall bug fix.
...
better FFI demo: compute fibonacci numbers using FFI'ed libgmp.
R=r
DELTA=281 (255 added, 19 deleted, 7 changed)
OCL=33815
CL=33820
2009-08-24 21:16:15 -07:00
Russ Cox
fdc4b4a47f
start of FFI support, and a demo.
...
R=r
DELTA=494 (492 added, 0 deleted, 2 changed)
OCL=33784
CL=33810
2009-08-24 17:30:00 -07:00
Austin Clements
9a36b8087c
Make it only necessary to exit blocks, not scopes. Allow
...
variables to be given initial values in some cases, to make
building global scopes more convenient.
R=rsc
APPROVED=rsc
DELTA=29 (17 added, 0 deleted, 12 changed)
OCL=33760
CL=33766
2009-08-24 13:48:16 -07:00
Austin Clements
30a2dabdc3
Implement map types
...
R=rsc
APPROVED=rsc
DELTA=329 (301 added, 2 deleted, 26 changed)
OCL=33696
CL=33706
2009-08-21 18:37:38 -07:00
Austin Clements
fc18391209
Decode overlapping section names correctly.
...
R=rsc
APPROVED=rsc
DELTA=23 (14 added, 8 deleted, 1 changed)
OCL=33699
CL=33705
2009-08-21 18:30:20 -07:00
Austin Clements
bd65739bc2
Implement line-to-PC mapping. Add unit tests for
...
PC/line/aline conversion methods.
R=rsc
APPROVED=rsc
DELTA=458 (434 added, 15 deleted, 9 changed)
OCL=33677
CL=33702
2009-08-21 18:13:35 -07:00
Austin Clements
1068bcab96
Make stop causes pointers so users outside the package can
...
type switch on them despite their private fields. Add some
tracing stuff.
R=rsc
APPROVED=rsc
DELTA=18 (7 added, 0 deleted, 11 changed)
OCL=33678
CL=33683
2009-08-21 15:54:54 -07:00
Austin Clements
6ece1b561c
ELF reader and Go symbol table and PC/line table decoder.
...
R=rsc
APPROVED=rsc
DELTA=1425 (1425 added, 0 deleted, 0 changed)
OCL=33432
CL=33517
2009-08-19 10:05:11 -07:00
Austin Clements
fb9490c2ec
Implement slice types
...
R=rsc
APPROVED=rsc
DELTA=286 (217 added, 42 deleted, 27 changed)
OCL=33319
CL=33383
2009-08-17 11:29:12 -07:00
Austin Clements
7c9b9af76e
Convert interpreter to whole-package compilation.
...
R=rsc
APPROVED=rsc
DELTA=334 (110 added, 211 deleted, 13 changed)
OCL=33135
CL=33137
2009-08-12 17:24:05 -07:00
Austin Clements
ceaa7741a2
Convert ptrace to whole-package compilation.
...
R=rsc
APPROVED=rsc
DELTA=15 (9 added, 6 deleted, 0 changed)
OCL=33136
CL=33136
2009-08-12 17:22:47 -07:00
Russ Cox
5b62b19d43
convert non-pkg go files to whole-package compilation.
...
mostly removing forward declarations.
R=r
DELTA=138 (2 added, 127 deleted, 9 changed)
OCL=33068
CL=33099
2009-08-12 13:18:54 -07:00
Austin Clements
64193fcaa2
Implement switch statement. Can now extract effects from
...
non-addressable expressions.
R=rsc
APPROVED=rsc
DELTA=241 (202 added, 15 deleted, 24 changed)
OCL=32790
CL=32995
2009-08-10 16:27:54 -07:00
Austin Clements
e2e6becf3a
Make ptrace_linux compile with recent changes to switch type
...
checking.
R=rsc
APPROVED=rsc
DELTA=11 (0 added, 0 deleted, 11 changed)
OCL=32839
CL=32841
2009-08-06 13:54:13 -07:00