Age | Commit message (Collapse) | Author | Files | Lines |
|
R=r
OCL=35736
CL=35746
|
|
* generate different versions of binary operators
for each size of int and float, so that proper
truncating happens after each operation to
simulate the various sized ops.
* add slice expressions
* publish World.CompileStmtList, CompileDeclList, CompileExpr
* handle type-less expressions in CompileExpr
R=austin
DELTA=1459 (1327 added, 11 deleted, 121 changed)
OCL=34382
CL=35581
|
|
R=r
DELTA=40 (9 added, 3 deleted, 28 changed)
OCL=35277
CL=35305
|
|
to date.
R=rsc
APPROVED=rsc
DELTA=8 (6 added, 0 deleted, 2 changed)
OCL=35009
CL=35011
|
|
package. If a Sym is a function symbol, include a reference
to the Func so it's easily accessible when you're traversing
the list of all symbols. This diff is more interesting than
the proc switch because the gosym interface differs from the
old sym interface.
R=rsc
APPROVED=rsc
DELTA=1957 (34 added, 1868 deleted, 55 changed)
OCL=34969
CL=35008
|
|
R=rsc
APPROVED=rsc
DELTA=3 (0 added, 3 deleted, 0 changed)
OCL=34970
CL=35007
|
|
R=rsc
APPROVED=rsc
DELTA=36 (0 added, 0 deleted, 36 changed)
OCL=34971
CL=35006
|
|
debug/proc to install to the right place. Delete the old
ptrace package. The diff looks huge, but it's mostly
s/ptrace/proc/.
R=rsc
APPROVED=rsc
DELTA=1940 (10 added, 1835 deleted, 95 changed)
OCL=34966
CL=34968
|
|
R=rsc
APPROVED=rsc
DELTA=8 (0 added, 2 deleted, 6 changed)
OCL=34854
CL=34965
|
|
used by ogle)
R=rsc
APPROVED=rsc
DELTA=4 (0 added, 1 deleted, 3 changed)
OCL=34852
CL=34964
|
|
the interpreter and update code to use ast.BasicDecl and
multi-type switch. There are still a lot of "switch _ :=
x.(type)" that should make use of the new type switch syntax,
but those will be a different CL.
R=rsc
APPROVED=rsc
DELTA=58 (16 added, 23 deleted, 19 changed)
OCL=34853
CL=34963
|
|
hasn't been ported to the new sym package yet)
R=rsc
APPROVED=rsc
DELTA=9 (0 added, 1 deleted, 8 changed)
OCL=34851
CL=34962
|
|
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
|
|
R=rsc
APPROVED=rsc
DELTA=282 (281 added, 0 deleted, 1 changed)
OCL=34407
CL=34781
|
|
R=rsc
APPROVED=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=34404
CL=34406
|
|
tweak test/literal.go to give more information.
R=austin
DELTA=45 (43 added, 0 deleted, 2 changed)
OCL=34381
CL=34398
|
|
successful.
R=rsc
APPROVED=rsc
DELTA=43 (31 added, 0 deleted, 12 changed)
OCL=34375
CL=34397
|
|
R=rsc
APPROVED=rsc
DELTA=314 (132 added, 2 deleted, 180 changed)
OCL=34376
CL=34396
|
|
R=rsc
APPROVED=rsc
DELTA=328 (112 added, 110 deleted, 106 changed)
OCL=34356
CL=34356
|
|
R=austin
DELTA=21 (5 added, 10 deleted, 6 changed)
OCL=34355
CL=34355
|
|
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
|
|
including breakpoints and Go thread create/exit.
R=rsc
APPROVED=rsc
DELTA=751 (729 added, 6 deleted, 16 changed)
OCL=34345
CL=34351
|
|
start on Decl, but not working yet
R=austin
DELTA=762 (201 added, 205 deleted, 356 changed)
OCL=34335
CL=34349
|
|
exit is still handled poorly.
R=rsc
APPROVED=rsc
DELTA=6 (6 added, 0 deleted, 0 changed)
OCL=34288
CL=34315
|
|
R=austin
DELTA=142 (128 added, 4 deleted, 10 changed)
OCL=34275
CL=34284
|
|
reuse Thread in function calls.
R=austin
DELTA=59 (8 added, 7 deleted, 44 changed)
OCL=34266
CL=34266
|
|
change eval functions from taking *Frame to *Thread
R=austin
DELTA=500 (7 added, 4 deleted, 489 changed)
OCL=34256
CL=34260
|
|
R=rsc
APPROVED=rsc
DELTA=31 (0 added, 4 deleted, 27 changed)
OCL=34251
CL=34259
|
|
R=austin
DELTA=959 (404 added, 99 deleted, 456 changed)
OCL=34214
CL=34237
|
|
R=rsc
APPROVED=rsc
DELTA=1003 (1003 added, 0 deleted, 0 changed)
OCL=34223
CL=34227
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
R=rsc
APPROVED=rsc
DELTA=917 (917 added, 0 deleted, 0 changed)
OCL=34049
CL=34066
|
|
R=rsc
APPROVED=rsc
DELTA=237 (237 added, 0 deleted, 0 changed)
OCL=33966
CL=34065
|
|
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
|
|
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
|
|
R=rsc
APPROVED=rsc
DELTA=32 (14 added, 1 deleted, 17 changed)
OCL=34043
CL=34043
|
|
checking, bounds checking, and map key checking.
R=rsc
APPROVED=rsc
DELTA=202 (108 added, 72 deleted, 22 changed)
OCL=33981
CL=34031
|
|
interpreter values. Also, print nil values properly.
R=rsc
APPROVED=rsc
DELTA=173 (173 added, 0 deleted, 0 changed)
OCL=33837
CL=33973
|
|
R=rsc
APPROVED=rsc
DELTA=114 (114 added, 0 deleted, 0 changed)
OCL=33957
CL=33962
|
|
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
|
|
also drop bool arg from ReadString
R=r
DELTA=45 (13 added, 1 deleted, 31 changed)
OCL=33923
CL=33960
|
|
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
|
|
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
|
|
R=rsc
APPROVED=rsc
DELTA=329 (301 added, 2 deleted, 26 changed)
OCL=33696
CL=33706
|
|
R=rsc
APPROVED=rsc
DELTA=23 (14 added, 8 deleted, 1 changed)
OCL=33699
CL=33705
|
|
PC/line/aline conversion methods.
R=rsc
APPROVED=rsc
DELTA=458 (434 added, 15 deleted, 9 changed)
OCL=33677
CL=33702
|