Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
* Code for assignment, conversions now mirrors spec.
* Changed some snprint -> smprint.
* Renamed runtime functions to separate
interface conversions from type assertions:
convT2I, assertI2T, etc.
* Correct checking of \U sequences.
Fixes issue 840.
Fixes issue 830.
Fixes issue 778.
R=ken2
CC=golang-dev
http://codereview.appspot.com/1303042
|
|
Fixes issue 589.
R=ken2
CC=golang-dev
http://codereview.appspot.com/1032044
|
|
R=ken2, r
CC=golang-dev
http://codereview.appspot.com/871042
Committer: Russ Cox <rsc@golang.org>
|
|
R=ken2, r, ken3
CC=golang-dev
http://codereview.appspot.com/831042
|
|
main semantic change is to enforce single argument to panic.
runtime: change to 1-argument panic.
use String method on argument if it has one.
R=ken2, r
CC=golang-dev
http://codereview.appspot.com/812043
|
|
for 6g and 8g. can also be used
for 5g. 5g is still a stub.
R=rsc
CC=golang-dev
http://codereview.appspot.com/362041
|
|
R=ken2
CC=golang-dev
http://codereview.appspot.com/224060
|
|
R=rsc
CC=golang-dev
http://codereview.appspot.com/217041
|
|
Fixes issue 219.
R=ken2, r
CC=golang-dev
http://codereview.appspot.com/194097
|
|
5g/6g/8g: add import statements to export metadata, mapping package path to package name.
recognize "" as the path of the package in export metadata.
use "" as the path of the package in object symbol names.
5c/6c/8c, 5a/6a/8a: rewrite leading . to "". so that ·Sin means Sin in this package.
5l/6l/8l: rewrite "" in symbol names as object files are read.
gotest: handle new symbol names.
gopack: handle new import lines in export metadata.
Collectively, these changes eliminate the assumption of a global
name space in the object file formats. Higher level pieces such as
reflect and the computation of type hashes still depend on the
assumption; we're not done yet.
R=ken2, r, ken3
CC=golang-dev
http://codereview.appspot.com/186263
Committer: Russ Cox <rsc@golang.org>
|
|
* switch to real dot (.) instead of center dot (·) everywhere in object files.
before it was half and half depending on where in the name it appeared.
* in 6c/6a/etc identifiers, · can still be used but turns into . immediately.
* in export metadata, replace package identifiers with quoted strings
(still package names, not paths).
R=ken2, r
CC=golang-dev
http://codereview.appspot.com/190076
|
|
to provide functionality previously hacked in to
reflect and gob.
R=r
http://codereview.appspot.com/165076
|
|
* inform garbage collector about memory with no pointers in it
1.9s gcc reverse-complement.c
reverse-complement.go
4.5s / 3.5s original, with/without bounds checks
3.5s / 3.3s bounds check reduction
3.3s / 2.8s smarter garbage collector
2.6s / 2.3s assembler bytes.IndexByte
2.5s / 2.1s even smarter garbage collector (this CL)
R=r
http://codereview.appspot.com/165064
|
|
R=ken2
http://codereview.appspot.com/157114
|
|
* add runtime sliceslice1 for x[lo:]
* remove runtime arraytoslice, rewriting &arr into arr[0:len(arr)].
* port cgen_inline into 8g, 5g.
* use native memmove in maps
R=ken2
http://codereview.appspot.com/157106
|
|
did not test 386, but should work
shouldnt matter if copy is not used
R=rsc
http://codereview.appspot.com/156055
|
|
because they are in package runtime.
another step to enforcing package boundaries.
R=r
DELTA=732 (114 added, 93 deleted, 525 changed)
OCL=35811
CL=35824
|
|
node printing fixes.
silence incorrect redeclaration error.
R=ken
OCL=35602
CL=35602
|
|
they can get the official alignment out of there
instead of guessing.
R=ken
OCL=34450
CL=34450
|
|
R=rsc
DELTA=444 (179 added, 177 deleted, 88 changed)
OCL=33847
CL=33849
|
|
R=ken
OCL=32576
CL=32580
|
|
introduce NodeList* type in compiler to replace OLIST.
this clarifies where lists can and cannot occur.
list append and concatenation are now cheap.
the _r rules are gone from yacc.
rev and unrev are gone.
no more lists of lists.
the representation of assignments is a bit clunkier.
split into OAS (1=1) and OAS2 (2 or more on one side).
delete dead chanrecv3 code.
delay construction of func types.
R=ken
OCL=31745
CL=31762
|
|
R=ken
OCL=31122
CL=31278
|
|
R=ken
OCL=29568
CL=29570
|
|
R=r
OCL=29544
CL=29544
|
|
R=r
OCL=29466
CL=29466
|
|
can run 64-bit sieve and powser.
interfaces are limping along.
next hurdle is floating point.
R=ken
OCL=29418
CL=29423
|
|
R=ken
OCL=29209
CL=29216
|
|
must have non-nil i.
R=ken
OCL=29136
CL=29136
|
|
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
|
|
use the actual go source instead.
R=r
DELTA=90 (66 added, 18 deleted, 6 changed)
OCL=28708
CL=28719
|
|
R=r
OCL=28569
CL=28573
|
|
R=rsc
DELTA=19 (4 added, 5 deleted, 10 changed)
OCL=28563
CL=28566
|
|
* byteastring is no longer used
* do not generate ODCL, OAS for globals
(wasn't generating any code but might
save one or two init functions)
* do not call self from Init function
R=ken
OCL=28309
CL=28309
|
|
R=r
OCL=27332
CL=27332
|
|
new feature 'case nil:' in type switch
will match iff the interface is nil.
R=r
OCL=26404
CL=26404
|
|
runtime not finished.
R=r
OCL=26217
CL=26217
|
|
(renamed to avoid any conflict with old p4 copies).
this approach doesn't require auto-generating
files also kept in p4, so it should be easier on
go users who don't sync very often.
this approach will be more work for go developers:
builtin.c needs to be copied to builtin.c.boot in p4
as new functions are added. mkbuiltin does this
for certain $USERs to help us remember.
R=r
DELTA=343 (176 added, 162 deleted, 5 changed)
OCL=25803
CL=25805
|