summaryrefslogtreecommitdiff
path: root/src/cmd/gc/sys.go
AgeCommit message (Collapse)AuthorFilesLines
2009-10-15rename sys functions to runtime,Russ Cox1-93/+0
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-10fix float <-> int64 conversionsKai Backman1-0/+2
R=rsc APPROVED=rsc DELTA=25 (25 added, 0 deleted, 0 changed) OCL=35566 CL=35574
2009-10-06apply gofmt to the LGTM-marked files from 34501Russ Cox1-71/+71
that have not changed since I applied gofmt. R=gri DELTA=456 (77 added, 3 deleted, 376 changed) OCL=35378 CL=35383
2009-09-08pass Type* to makechan and makemap so thatRuss Cox1-4/+4
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-2/+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-07runtime: use new reflect data structures (CL 31107)Russ Cox1-11/+11
in place of sigi, sigt. R=ken OCL=31118 CL=31277
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/+6
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-08move things out of sys into os and runtimeRuss Cox1-14/+0
R=r OCL=28569 CL=28573
2009-05-08Move sys.Reflect and sys.Unreflect into unsafe.Rob Pike1-3/+0
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-02-06closures - 6g supportRuss Cox1-0/+2
R=ken OCL=24501 CL=24566
2009-01-26print(map) and print(chan) as pointers.Russ Cox1-1/+1
R=ken OCL=23520 CL=23520
2009-01-22move math routines from package sys to package math,Russ Cox1-18/+0
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
2009-01-20delete exportRuss Cox1-24/+24
TBR=r OCL=23121 CL=23127
2009-01-16casify, cleanup sysRuss Cox1-84/+79
R=r OCL=22978 CL=22984
2009-01-09add sys.callerRuss Cox1-20/+27
R=r DELTA=139 (101 added, 38 deleted, 0 changed) OCL=22462 CL=22466
2009-01-09update sys.reflect and sys.unreflect to accomodateRuss Cox1-2/+2
the possibility of large objects in interface values. R=r DELTA=171 (97 added, 22 deleted, 52 changed) OCL=22382 CL=22382
2008-12-19compiler changes for *chan -> chan; *map -> map; new(T) -> new(*T)Russ Cox1-14/+14
mainly a syntactic change: the compiler representations don't change (chan and map are now hidden pointers like string). R=ken OCL=21578 CL=21582
2008-12-18convert *[] to [].Russ Cox1-1/+1
R=r OCL=21563 CL=21571
2008-12-18print(array)Ken Thompson1-0/+1
R=r OCL=21570 CL=21570
2008-12-18arraysKen Thompson1-5/+5
R=r OCL=21564 CL=21564
2008-12-08foundation for import unsafeKen Thompson1-1/+1
R=r OCL=20794 CL=20794
2008-12-05range statementKen Thompson1-2/+6
R=r OCL=20667 CL=20667
2008-12-04add mutex.MutexRuss Cox1-1/+3
R=r DELTA=349 (348 added, 0 deleted, 1 changed) OCL=20380 CL=20472
2008-11-20symbol table changesRuss Cox1-0/+3
* 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
2008-11-12converting uint bits back into floatsRob Pike1-0/+2
R=rsc DELTA=32 (32 added, 0 deleted, 0 changed) OCL=19084 CL=19091
2008-11-06add sys.float32bits, sys.float64bitsRob Pike1-0/+2
R=rsc DELTA=21 (21 added, 0 deleted, 0 changed) OCL=18709 CL=18718
2008-11-05select defaultKen Thompson1-0/+1
R=r OCL=18646 CL=18646
2008-11-03runtime support for interface ok,Russ Cox1-0/+2
whatever the final syntax ends up being. R=ken OCL=18414 CL=18414
2008-11-036l: generate gotypesigs on demand.Russ Cox1-0/+1
add sys.unreflect, which uses gotypesigs. R=r DELTA=170 (152 added, 12 deleted, 6 changed) OCL=18396 CL=18404
2008-10-29the end of life as we know itKen Thompson1-26/+26
int is new type R=r OCL=18023 CL=18023
2008-10-216g: use full type in sigt[0].nameRuss Cox1-1/+1
sys: add sys.reflect runtime: add canfail flag for later R=ken OCL=17583 CL=17583
2008-10-14delete hack for interface equality now that it supported by the 6g compilerRob Pike1-1/+0
R=rsc DELTA=21 (0 added, 21 deleted, 0 changed) OCL=17123 CL=17136
2008-10-14interface equalityKen Thompson1-0/+1
R=r OCL=17116 CL=17118
2008-10-10add sys.BUG_intereq to compare interfaces for equalityRuss Cox1-0/+1
R=r OCL=16929 CL=16929
2008-10-07sys.stringtorune doesn't need a length parameter.Rob Pike1-1/+1
R=rsc DELTA=7 (0 added, 0 deleted, 7 changed) OCL=16600 CL=16630
2008-10-03new import/export formatRuss Cox1-165/+77
package flag export type flag.Flag struct { name flag.string; usage flag.string; \ value flag.Value; next *flag.Flag } type flag.string string type flag.Value interface { AsBool () (? *flag.BoolValue); \ AsInt () (? *flag.IntValue); AsString () (? *flag.StringValue); \ IsBool () (? flag.bool); IsInt () (? flag.bool); IsString () (? flag.bool); \ Str () (? flag.string); ValidValue (str flag.string) (? flag.bool) } type flag.BoolValue struct { val flag.bool; p *flag.bool } type flag.IntValue struct { val flag.int64; p *flag.int64 } type flag.StringValue struct { val flag.string; p *flag.string } type flag.bool bool func (e *flag.StringValue) AsBool () (? *flag.BoolValue) func (e *flag.StringValue) AsInt () (? *flag.IntValue) ... the \ continuations are for this message, not real. changed delimiter for import from (( )) to $$ $$. replaced mksys.bash with mksys.c changed sys.go to use leading export, fake package name is now SYS not foop don't always require ; on forward func decls R=ken,r DELTA=1827 (446 added, 1083 deleted, 298 changed) OCL=16433 CL=16463
2008-10-02added printn and panicnKen Thompson1-0/+4
prints that insert spaces and new line R=r OCL=16370 CL=16370
2008-09-24cleanup; sys.sleep can go.Russ Cox1-2/+0
R=r OCL=15786 CL=15792