summaryrefslogtreecommitdiff
path: root/src/cmd/gc/builtin.c.boot
AgeCommit message (Collapse)AuthorFilesLines
2011-05-23Imported Upstream version 2011.05.22Ondřej Surý1-1/+3
2011-04-26Imported Upstream version 2011.04.13upstream/2011.04.13Ondřej Surý1-2/+4
2011-02-14Imported Upstream version 2011-02-01.1upstream/2011-02-01.1Ondřej Surý1-2/+4
2011-01-17Imported Upstream version 2011.01.12upstream/2011.01.12Ondřej Surý1-7/+11
2010-06-08gc: new typechecking rulesRuss Cox1-12/+16
* 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
2010-05-01gc: be pickier about slice, chan, array, and map sizesRuss Cox1-29/+29
Fixes issue 589. R=ken2 CC=golang-dev http://codereview.appspot.com/1032044
2010-04-01runtime: turn run time errors checks into panicsRuss Cox1-1/+2
R=ken2, r CC=golang-dev http://codereview.appspot.com/871042 Committer: Russ Cox <rsc@golang.org>
2010-03-31gc: implement panic and recoverRuss Cox1-1/+1
R=ken2, r, ken3 CC=golang-dev http://codereview.appspot.com/831042
2010-03-30gc: add panic and recover (still unimplemented in runtime)Russ Cox1-1/+2
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
2010-03-09identical complex implementationKen Thompson1-0/+1
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
2010-02-25gc: implement []int(string) and []byte(string)Russ Cox1-0/+2
R=ken2 CC=golang-dev http://codereview.appspot.com/224060
2010-02-18complex constant multiply and divideKen Thompson1-0/+1
R=rsc CC=golang-dev http://codereview.appspot.com/217041
2010-01-27gc: implement defer print/println/panic/paniclnRuss Cox1-23/+24
Fixes issue 219. R=ken2, r CC=golang-dev http://codereview.appspot.com/194097
2010-01-22eliminate the package global name space assumption in object filesRuss Cox1-84/+84
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>
2010-01-19cleanup toward eliminating package global name spaceRuss Cox1-84/+84
* 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
2009-12-07runtime: introduce unsafe.New and unsafe.NewArrayRuss Cox1-0/+2
to provide functionality previously hacked in to reflect and gob. R=r http://codereview.appspot.com/165076
2009-12-04gc/runtime: pass type structure to makeslice.Russ Cox1-1/+1
* 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
2009-11-20x[y:] for stringsRuss Cox1-0/+1
R=ken2 http://codereview.appspot.com/157114
2009-11-20x[lo:] - gc and runtime.Russ Cox1-1/+1
* 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
2009-11-17install copy predefinedKen Thompson1-0/+1
did not test 386, but should work shouldnt matter if copy is not used R=rsc http://codereview.appspot.com/156055
2009-10-15rename sys functions to runtime,Russ Cox1-75/+75
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
2009-10-12new builtin.c.boot from arm.Russ Cox1-0/+2
node printing fixes. silence incorrect redeclaration error. R=ken OCL=35602 CL=35602
2009-09-08pass Type* to makechan and makemap so thatRuss Cox1-2/+2
they can get the official alignment out of there instead of guessing. R=ken OCL=34450 CL=34450
2009-08-25rename runtime internals to have modern names (array->slice etc)Rob Pike1-9/+9
R=rsc DELTA=444 (179 added, 177 deleted, 88 changed) OCL=33847 CL=33849
2009-07-31checkpoint; still plenty to clean upRuss Cox1-1/+1
R=ken OCL=32576 CL=32580
2009-07-17another step toward eliminating forward declarations.Russ Cox1-1/+0
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
2009-07-076g, 8g: generate data structures for new reflect interface (CL 31107)Russ Cox1-13/+14
R=ken OCL=31122 CL=31278
2009-05-28print uint64 as uint64.Russ Cox1-0/+1
R=ken OCL=29568 CL=29570
2009-05-28detect recursive initializationKen Thompson1-0/+1
R=r OCL=29544 CL=29544
2009-05-27string([]int) conversionKen Thompson1-0/+1
R=r OCL=29466 CL=29466
2009-05-268g: 64-bit arithmetic and assorted bug fixes;Russ Cox1-0/+4
can run 64-bit sieve and powser. interfaces are limping along. next hurdle is floating point. R=ken OCL=29418 CL=29423
2009-05-21enforce channel directionRuss Cox1-9/+9
R=ken OCL=29209 CL=29216
2009-05-20stricter interface conversion rule: i.(T)Russ Cox1-0/+1
must have non-nil i. R=ken OCL=29136 CL=29136
2009-05-20change representation of interface values.Russ Cox1-1/+10
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
2009-05-12no need for compiler to hard-code definition of runtime.Russ Cox1-8/+0
use the actual go source instead. R=r DELTA=90 (66 added, 18 deleted, 6 changed) OCL=28708 CL=28719
2009-05-08move things out of sys into os and runtimeRuss Cox1-7/+8
R=r OCL=28569 CL=28573
2009-05-08Move sys.Reflect and sys.Unreflect into unsafe.Rob Pike1-2/+2
R=rsc DELTA=19 (4 added, 5 deleted, 10 changed) OCL=28563 CL=28566
2009-05-056g tweaksRuss Cox1-1/+0
* 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
2009-04-10range over stringsKen Thompson1-0/+2
R=r OCL=27332 CL=27332
2009-03-17binary search on type switches.Ken Thompson1-0/+1
new feature 'case nil:' in type switch will match iff the interface is nil. R=r OCL=26404 CL=26404
2009-03-12chan flags close/closed installedKen Thompson1-0/+2
runtime not finished. R=r OCL=26217 CL=26217
2009-03-05new approach for generating sysimport.cRuss Cox1-0/+72
(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