Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
only automatic g4 mv here.
R=r
OCL=30002
CL=30007
|
|
R=r
DELTA=44 (19 added, 1 deleted, 24 changed)
OCL=29912
CL=29915
|
|
R=r
OCL=29544
CL=29544
|
|
this is not a user-visible change.
before, all interface values were
struct Itype {
Sigt *type;
Sigi *inter;
void *method[n];
}
struct Iface {
void *addr;
Itype *itype;
}
the itype is basically a vtable, but it's unnecessary
if the static type is interface{ }.
for interface values with static type empty, the
new representation is
struct Eface {
void *addr;
Sigt *type;
}
this complicates the code somewhat, but
it reduces the number of Itypes that
have to be computed and cached,
it opens up opportunities to avoid function
calls in a few common cases,
and it will make it possible to lay out
interface{} values at compile time,
which i think i'll need for the new reflection.
R=ken
OCL=28701
CL=29121
|
|
R=r
OCL=28569
CL=28573
|
|
R=r
OCL=27293
CL=27293
|
|
R=r
DELTA=156 (149 added, 2 deleted, 5 changed)
OCL=26973
CL=26973
|
|
remove use of _subv in vlrt.c
darwin/386/signal.c
darwin/386/*
linux/386/* (forgotten before)
can run empty program on darwin/386 now.
R=r
DELTA=1140 (1021 added, 114 deleted, 5 changed)
OCL=26942
CL=26968
|
|
R=r
DELTA=1926 (1727 added, 168 deleted, 31 changed)
OCL=26876
CL=26878
|
|
R=r,gri
DELTA=472 (423 added, 2 deleted, 47 changed)
OCL=23522
CL=23541
|
|
more caching, better hash functions, proper locking.
fixed a bug in interface comparison too.
R=ken
DELTA=177 (124 added, 10 deleted, 43 changed)
OCL=23491
CL=23493
|
|
can be compared/hashed.
R=r
DELTA=351 (201 added, 80 deleted, 70 changed)
OCL=23423
CL=23481
|
|
though they still build in src/runtime.
use cgo instead of hand-written wrappers.
R=r
DELTA=740 (289 added, 300 deleted, 151 changed)
OCL=23326
CL=23331
|
|
R=r
OCL=22978
CL=22984
|
|
R=r
DELTA=192 (145 added, 8 deleted, 39 changed)
OCL=21609
CL=21614
|
|
fixes maps[""]
R=r
OCL=20909
CL=20911
|
|
R=r
DELTA=746 (729 added, 1 deleted, 16 changed)
OCL=20858
CL=20858
|
|
mark and sweep, stop the world garbage collector
(intermediate step in the way to ref counting).
can run pretty with an explicit gc after each file.
R=r
DELTA=502 (346 added, 143 deleted, 13 changed)
OCL=20630
CL=20635
|
|
in favor of using in-memory copy of symbol table.
$ ls -l pretty pretty.big
-rwxr-xr-x 1 rsc eng 439516 Nov 21 16:43 pretty
-rwxr-xr-x 1 rsc eng 580984 Nov 21 16:20 pretty.big
$
R=r
DELTA=446 (238 added, 178 deleted, 30 changed)
OCL=19851
CL=19884
|
|
R=rsc
DELTA=4 (0 added, 2 deleted, 2 changed)
OCL=19757
CL=19763
|
|
* add gotype string to symbol table
* fill in gotype in 6l for known funcs/vars
* print gotype with nm -t
* load symbol and pc/ln tables into memory at magic address 0x99<<32.
* add sys.symdat() to retrieve raw bytes of symbol table
and pc/ln table.
most of this should be considered experimental
and subject to change.
R=r
DELTA=157 (128 added, 0 deleted, 29 changed)
OCL=19746
CL=19750
|
|
R=r
DELTA=756 (754 added, 0 deleted, 2 changed)
OCL=19266
CL=19378
|
|
R=r
DELTA=8 (1 added, 0 deleted, 7 changed)
OCL=19245
CL=19245
|
|
R=r
OCL=19146
CL=19146
|
|
R=rsc
DELTA=32 (32 added, 0 deleted, 0 changed)
OCL=19084
CL=19091
|
|
* use union, not cast, to convert between uint64 and float64,
to avoid possible problems with gcc in future.
R=r
DELTA=75 (39 added, 15 deleted, 21 changed)
OCL=18926
CL=18926
|
|
R=r
DELTA=48 (23 added, 14 deleted, 11 changed)
OCL=18707
CL=18922
|
|
R=rsc
DELTA=21 (21 added, 0 deleted, 0 changed)
OCL=18709
CL=18718
|
|
R=r
OCL=18646
CL=18646
|
|
- do not print tracebacks if $GOTRACEBACK=0
- set GOTRACEBACK=0 during tests
- filter out pc numbers in errors
R=r
DELTA=70 (22 added, 30 deleted, 18 changed)
OCL=15618
CL=15642
|
|
R=r
OCL=15627
CL=15627
|
|
-- but only *struct tested
R=r
OCL=15326
CL=15326
|
|
2 added dynamic calls to throw for array bounds
and 'fn wo return'
3 small optimization on index[constant]
R=r
OCL=15281
CL=15281
|
|
- disassemble the instructions in a trace trap to see if it's a run-time trap
- if so, print relevant info
- avoid double-printing traceback on panic
R=ken,rsc
DELTA=66 (50 added, 7 deleted, 9 changed)
OCL=15199
CL=15224
|
|
- add NaN, Inf printing to fmt
- fix a couple of bugs in fmt
- add a test for fmt
R=ken
OCL=14092
CL=14092
|
|
(apparently my first attempt didn't work.)
R=r
OCL=13888
CL=13888
|
|
* rewrite lock implementation to be correct
(tip: never assume that an algorithm you found
in a linux man page is correct.)
* delete unneeded void* arg from clone fn
* replace Rendez with Note
* comment mal better
* use 6c -w, fix warnings
* mark all assembly functions 7
R=r
DELTA=828 (338 added, 221 deleted, 269 changed)
OCL=13884
CL=13886
|
|
value equality
R=ken,gri
OCL=13879
CL=13879
|
|
* kick off new os procs (machs) as needed
* add sys·sleep for testing
* add Lock, Rendez
* properly lock mal, sys·newproc, scheduler
* linux syscall arg #4 is in R10, not CX
* chans are not multithread-safe yet
* multithreading disabled by default;
set $gomaxprocs=2 (or 1000) to turn it on
This should build on OS X but may not.
Rob and I will fix soon after submitting.
TBR=r
OCL=13784
CL=13842
|
|
R=ken
OCL=13518
CL=13518
|
|
SVN=127055
|
|
SVN=126958
|
|
triggering morestack.
SVN=126935
|
|
SVN=126929
|
|
SVN=126521
|
|
SVN=126423
|
|
more on go statement
SVN=126421
|
|
fix a comment
SVN=125405
|
|
add isNaN, isInf, NaN, Inf
SVN=125389
|