1
0
mirror of https://github.com/golang/go synced 2024-11-22 12:54:48 -07:00
Commit Graph

430 Commits

Author SHA1 Message Date
Russ Cox
e98412290e interpreter checkpoint.
* 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
2009-10-11 02:35:53 -07:00
Russ Cox
11d3805579 clean more
R=r
DELTA=40  (9 added, 3 deleted, 28 changed)
OCL=35277
CL=35305
2009-10-03 10:38:03 -07:00
Russ Cox
17191281eb add comment about C API.
somehow managed not to Put this before.

R=r
DELTA=3  (3 added, 0 deleted, 0 changed)
OCL=35289
CL=35294
2009-10-02 18:07:27 -07:00
Russ Cox
cbd40daf38 final Native Client package - av
R=r
DELTA=894  (887 added, 0 deleted, 7 changed)
OCL=35115
CL=35286
2009-10-02 13:25:26 -07:00
Russ Cox
16ce29802a delete
R=r
DELTA=791  (0 added, 791 deleted, 0 changed)
OCL=35154
CL=35154
2009-09-30 11:06:35 -07:00
Russ Cox
8f8b735295 Native Client SRPC (simple RPC), both server and client.
R=r
DELTA=958  (958 added, 0 deleted, 0 changed)
OCL=35096
CL=35106
2009-09-29 16:00:28 -07:00
Russ Cox
5c2c57e5db toy draw implementation
R=r
DELTA=471  (471 added, 0 deleted, 0 changed)
OCL=35090
CL=35099
2009-09-29 14:04:08 -07:00
Robert Griesemer
0c18d1387d delete unused file
### 3656
XXstart 3656
XXedit 3656 src/cmd/5g/ggen.c
XXedit 3656 src/pkg/runtime/arm/asm.s
XXedit 3656 test/arm-pass.txt
# submit 3656
hg ci -u 'Kai Backman <kaib@golang.org>' -d '1253922857 25200' -l - <<'HGEOF'
support for go and defer.

go/test: passes 64% (218/339)

R=rsc
APPROVED=rsc
DELTA=60  (39 added, 0 deleted, 21 changed)
OCL=35018
CL=35018
2009-09-25 15:43:43 -07:00
Robert Griesemer
908c8f909e fix to be able to run full gofmt test
TBR=r
OCL=35015
CL=35015
2009-09-25 15:43:43 -07:00
Austin Clements
3c8a1de720 Add eval and ogle to the build process so they can be kept up
to date.

R=rsc
APPROVED=rsc
DELTA=8  (6 added, 0 deleted, 2 changed)
OCL=35009
CL=35011
2009-09-25 11:36:27 -07:00
Austin Clements
4211384976 Switch ogle to in-tree gosym package. Delete my private sym
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
2009-09-25 09:39:08 -07:00
Austin Clements
60098a41fb Fix unused imports
R=rsc
APPROVED=rsc
DELTA=3  (0 added, 3 deleted, 0 changed)
OCL=34970
CL=35007
2009-09-25 09:38:10 -07:00
Austin Clements
cbcd146f5d s/switch _ :=/switch/
R=rsc
APPROVED=rsc
DELTA=36  (0 added, 0 deleted, 36 changed)
OCL=34971
CL=35006
2009-09-25 09:37:35 -07:00
Robert Griesemer
f6faa9de1f more cleanup 2009-09-24 17:25:25 -07:00
Robert Griesemer
0d17ebde1c cleanup in personal dir:
- delete some unused files (copies archived elsewhere)

TBR=r
OCL=34994
CL=34994
2009-09-24 17:25:24 -07:00
Robert Griesemer
89a881dce4 delete obsolete Makefile
TBR=rsc
OCL=34978
CL=34978
2009-09-24 13:17:09 -07:00
Austin Clements
ffe83e582e Switch ogle over to the in-tree debug/proc package. Fix
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
2009-09-24 09:07:47 -07:00
Austin Clements
495b3db88b Fix declared and not used errors in ogle.
R=rsc
APPROVED=rsc
DELTA=8  (0 added, 2 deleted, 6 changed)
OCL=34854
CL=34965
2009-09-24 08:32:59 -07:00
Austin Clements
9f6328633d Fix declared and not set errors in old ptrace package (still
used by ogle)

R=rsc
APPROVED=rsc
DELTA=4  (0 added, 1 deleted, 3 changed)
OCL=34852
CL=34964
2009-09-24 08:32:10 -07:00
Austin Clements
da4a22993e Fix declared and not used errors and unused import errors in
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
2009-09-24 08:25:14 -07:00
Austin Clements
73bac0416b Fix declared and not used errors in old sym package (ogle
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
2009-09-24 08:19:16 -07:00
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