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

7527 Commits

Author SHA1 Message Date
Ken Thompson
3f982aeaf6 morestack magic number
automatically generated in 6g and 6c,
manually set in 6a. format is
	TEXT	a(SB),, $a-b
where a is auto size and b is parameter size

SVN=126946
2008-07-12 17:16:22 -07:00
Rob Pike
439b0c40bc tools to update math lib.
you need a hack to 6ar to do this, but it's not checked in yet

SVN=126943
2008-07-12 15:56:06 -07:00
Ken Thompson
3856e45e03 more on channels
arg space magic number for morestack

SVN=126936
2008-07-12 13:08:53 -07:00
Rob Pike
2da9783e2b preserve AX across stack jump so C routines return correct value when triggering morestack.
SVN=126935
2008-07-12 11:30:53 -07:00
Rob Pike
b07e084a99 delete dead code
SVN=126932
2008-07-11 19:40:03 -07:00
Rob Pike
c8bce425b0 fix comment
SVN=126931
2008-07-11 19:37:47 -07:00
Rob Pike
44f65c8f08 fix traceback to know about new segmenting
SVN=126930
2008-07-11 19:35:14 -07:00
Ken Thompson
751ce3a77a segmented stacks AND goroutines
SVN=126929
2008-07-11 19:16:39 -07:00
Ken Thompson
2d7eecbbf4 bug in offsets in imported struct fields
SVN=126591
2008-07-09 17:15:10 -07:00
Rob Pike
d5f4d94b80 redefinition fix for autolib: if first ATEXT is already defined, skip this file
SVN=126580
2008-07-09 16:40:11 -07:00
Rob Pike
92bb676290 build packages automatically
SVN=126577
2008-07-09 16:09:48 -07:00
Rob Pike
12c81a0ce8 enable autolib
handle archives with __.PKGDEF elements (although we can't create them yet)
introduce a pkg directory
search the pkg directory for packages during compilation

SVN=126574
2008-07-09 16:05:03 -07:00
Ken Thompson
7b454bb1d9 defined external registers g and m
SVN=126521
2008-07-09 11:35:26 -07:00
Ken Thompson
77e20e8cec converted double to float64
SVN=126446
2008-07-08 20:48:41 -07:00
Rob Pike
41b9617be4 fix ldexp, frexp, and make math package compile and test correctly
SVN=126423
2008-07-08 17:26:10 -07:00
Ken Thompson
4528854308 unique import/export names
more on go statement

SVN=126421
2008-07-08 17:19:17 -07:00
Rob Pike
655c281303 disambiguate typedefs in export blocks of .6 files
SVN=126366
2008-07-08 14:20:04 -07:00
Rob Pike
6db99de606 add bytestorune and stringtorune to sys.
SVN=126321
2008-07-08 10:36:43 -07:00
Ken Thompson
1d31a25d83 more coroutine
fixed a,b,c := x,x,x

SVN=126250
2008-07-07 17:59:32 -07:00
Ken Thompson
999b12c768 remove incorrect (!) consts
-r

SVN=126198
2008-07-07 15:00:12 -07:00
Rob Pike
5b904a3bde update to Unicode 5
SVN=126184
2008-07-07 14:07:46 -07:00
Ken Thompson
0d079a5362 start of coroutine
SVN=126152
2008-07-07 12:29:26 -07:00
Ken Thompson
caa7193c95 took out vlong/uvlong/rune conversions
SVN=126053
2008-07-06 11:20:44 -07:00
Ken Thompson
4d6d4e7f4e random little bugs
SVN=126049
2008-07-05 17:43:25 -07:00
Ken Thompson
417a971f9a output args declared
arguments in first block for diagnostics
thomo return
better syntax error recovery

SVN=126045
2008-07-05 12:49:25 -07:00
Ken Thompson
ac5a887d5d floating point print
SVN=126038
2008-07-04 18:01:35 -07:00
Ken Thompson
1efa6a0544 better recovery after syntax error
SVN=126003
2008-07-03 18:05:20 -07:00
Ken Thompson
81b325db1b a,b := fun()
SVN=125998
2008-07-03 17:41:05 -07:00
Ken Thompson
d915b96100 new iota
SVN=125984
2008-07-03 16:41:32 -07:00
Rob Pike
ef12ae4631 drop some superfluous file prefixes in runtime
SVN=125956
2008-07-03 13:42:04 -07:00
Robert Griesemer
27b4b2e4d3 - fixed .x file permissions
- implemented -strict mode if statement
- added readfile() to sys pkg
- removed outdated sys.go

SVN=125572
2008-07-01 16:48:31 -07:00
Rob Pike
6973e3813f update golden
fix a comment

SVN=125405
2008-06-30 16:30:53 -07:00
Rob Pike
03febb6773 clean up rearrangement of runtime functions in the source
add isNaN, isInf, NaN, Inf

SVN=125389
2008-06-30 15:30:47 -07:00
Rob Pike
d3204ef19f makes stack traces work for segmented stacks
SVN=125371
2008-06-30 14:39:47 -07:00
Rob Pike
8e82a673db Break runtime.c into separate pieces for maps, strings, print, etc.
Share common assembler for amd64 runtime

SVN=125317
2008-06-30 11:50:36 -07:00
Ken Thompson
b987f7a757 segmented stacks
SVN=125267
2008-06-29 20:40:08 -07:00
Ken Thompson
d3237f9a2a more line numbers
SVN=125265
2008-06-28 17:27:39 -07:00
Ken Thompson
dc1602ca23 more line numbers
SVN=125261
2008-06-28 13:58:00 -07:00
Rob Pike
ff4b01b440 fix two (!) bugs printing floating point zero
SVN=125260
2008-06-28 12:54:24 -07:00
Ken Thompson
ca029d34b6 another both sides functions
SVN=125230
2008-06-27 17:53:23 -07:00
Ken Thompson
57d80398e6 line numbers
SVN=125228
2008-06-27 17:35:42 -07:00
Rob Pike
4331293f41 update to new world. still can't use it but it's a lot of editing....
SVN=125218
2008-06-27 17:06:23 -07:00
Ken Thompson
390d5fe5b2 fixed fncall both sides
SVN=125217
2008-06-27 16:59:14 -07:00
Ken Thompson
102fcc6689 sametype message
SVN=125216
2008-06-27 16:43:02 -07:00
Ken Thompson
73f85f8a53 map index of index bug
SVN=125213
2008-06-27 16:30:20 -07:00
Rob Pike
34cb7c299e export sys.exit
update tests to use exit rather than return
ignore return value from main (actually done in prior CL)

SVN=125173
2008-06-27 14:15:06 -07:00
Rob Pike
3719aa4d9a update darwin for segmented stacks
SVN=125154
2008-06-27 13:10:56 -07:00
Ken Thompson
1f6828bcdf segmented stack
SVN=125151
2008-06-27 13:03:19 -07:00
Rob Pike
f977e251fa add a test
fix make.bash for runtime - sysfile.6 depends on OS so simplest thing is to build just our own version

SVN=125130
2008-06-27 11:36:40 -07:00
Rob Pike
1f672596c5 fix a few spelling mistakes in messages
SVN=125108
2008-06-27 10:29:02 -07:00
Ken Thompson
75937c2a16 better line numbers
SVN=125018
2008-06-26 17:54:44 -07:00
Robert Griesemer
553771314c - moved integer code into src/pkg
SVN=125003
2008-06-26 16:52:15 -07:00
Rob Pike
bcfd31f0e9 repair struct definition
SVN=124985
2008-06-26 15:35:43 -07:00
Rob Pike
f28ec1af7f slight change to file names
SVN=124982
2008-06-26 15:27:21 -07:00
Rob Pike
66b240c7a4 make readfile work on darwin
parameterize the system interface a bit

SVN=124981
2008-06-26 15:26:27 -07:00
Ken Thompson
e42d6a5fe2 add pointer to val type of maps
SVN=124971
2008-06-26 14:58:23 -07:00
Rob Pike
3e4e83ab1e add sys.readfile()
add args to linux runtime

SVN=124961
2008-06-26 14:09:26 -07:00
Rob Pike
9ff0e6288e runtime needs runtime.c
6l needs to know that there is no rt_amd64.6

SVN=124766
2008-06-25 21:31:17 -07:00
Rob Pike
41abdad5ec maybe now $O is right
SVN=124764
2008-06-25 21:24:14 -07:00
Rob Pike
5132d10305 O=6 not O=o
SVN=124763
2008-06-25 21:23:14 -07:00
Rob Pike
c87597de2c put a makefile into runtime
make the runtime library an archive (rt0 is still separate)
update 6l to use the archive
add fakeobj.c, missing from prior change

SVN=124762
2008-06-25 21:19:05 -07:00
Rob Pike
250a091922 add plan 9 ar, which understands our symbol tables
SVN=124761
2008-06-25 20:58:35 -07:00
Ken Thompson
e90ae879d6 autolib (#pragma lib)
added to 6g to autoload
the included import files.

SVN=124759
2008-06-25 20:22:10 -07:00
Robert Griesemer
3311e1b673 - dump registers in case of signal (linux)
SVN=124702
2008-06-25 17:07:22 -07:00
Ken Thompson
1a3f944530 simul assignment
SVN=124591
2008-06-25 11:35:06 -07:00
Rob Pike
deaac9800f previous change was a nit too aggressive - regular comparison should apply when comparing
internal symbol names

SVN=124461
2008-06-24 21:44:48 -07:00
Rob Pike
4061a7e9c7 allow an underscore to match centered dot (rune 00B7), so people don't have to
type a centered dot when debugging.

SVN=124460
2008-06-24 21:42:54 -07:00
Ken Thompson
10296166a5 bug in returning a fat function result
SVN=124436
2008-06-24 18:14:32 -07:00
Rob Pike
1bef250f33 center dots into argument code
SVN=124433
2008-06-24 18:00:24 -07:00
Rob Pike
1e774d9e6a put center dot into main_main
restore smashed arg code, lost in incorrect resolve

SVN=124432
2008-06-24 17:58:18 -07:00
Ken Thompson
7d11924c13 middle dot as alpha package separator
SVN=124419
2008-06-24 17:16:06 -07:00
Robert Griesemer
206daeabda - added access to thread state info from the signal handler
SVN=124404
2008-06-24 16:48:54 -07:00
Rob Pike
2987c8434b arguments available
argc, argv, envc, envv all in sys now
sys.argc() etc.

SVN=124398
2008-06-24 15:31:03 -07:00
Ken Thompson
87dae02a63 string nil same as string ""
SVN=124381
2008-06-24 14:11:20 -07:00
Rob Pike
362ea7c77d remove explicit import of "sys"
add a boolean printer

SVN=124362
2008-06-24 12:54:26 -07:00
Ken Thompson
90846cd447 map[int] bug
SVN=124332
2008-06-24 11:10:47 -07:00
Ken Thompson
78c8dec944 bug miscalculating ullman
in CALLMETH/DOTMETH

SVN=124321
2008-06-24 10:30:33 -07:00
Rob Pike
d4c2da409b safety checks, waiting for gri's real tracking of PC and SP
extant code is too fragile

SVN=124223
2008-06-23 20:12:39 -07:00
Rob Pike
7b210c5b2f add signal handling to mac runtime
SVN=124184
2008-06-23 16:34:17 -07:00
Ken Thompson
dee07c884e maps
SVN=124030
2008-06-22 21:02:06 -07:00
Rob Pike
12c2864e4f more nearly correct interface code for signals on linux
SVN=124021
2008-06-21 17:28:37 -07:00
Rob Pike
aeb43984ec add signal handling and traceback support therein.
factor the runtime into architecture-dependent and -independent pieces.
ditto for the OS dependence.

SVN=124020
2008-06-21 15:36:23 -07:00
Ken Thompson
54abac678a redeclarations of variables in the same block.
half-step toward multivalued map indexing

SVN=124019
2008-06-21 15:11:29 -07:00
Rob Pike
85785fe577 delete incorrect offset print
SVN=123857
2008-06-20 10:55:53 -07:00
Rob Pike
1a2421e406 improved formatting of traceback
SVN=123527
2008-06-18 23:25:37 -07:00
Rob Pike
d6f25597bb print rudimentary stack traceback after panic
SVN=123524
2008-06-18 23:17:39 -07:00
Ken Thompson
ddba96aed8 stack offset
SVN=123521
2008-06-18 22:07:09 -07:00
Ken Thompson
f997bc6eb6 stack offseet table marker
tacked above each TEXT entry

SVN=123496
2008-06-18 17:51:56 -07:00
Ken Thompson
1926fef175 bogus diagnostic with
default as first case
in a switch

SVN=123398
2008-06-18 11:43:50 -07:00
Ken Thompson
c242b53d22 more maps
more semi-colons
type assignment of constants

SVN=123278
2008-06-17 22:33:32 -07:00
Ken Thompson
c5bb50c9dc assign nil to interface
SVN=123256
2008-06-17 18:07:40 -07:00
Ken Thompson
7131bf476c SVN=123250 2008-06-17 18:02:06 -07:00
Ken Thompson
504aa698f7 SVN=123249 2008-06-17 18:01:05 -07:00
Ken Thompson
53ec6500bc yata
SVN=123246
2008-06-17 17:59:06 -07:00
Ken Thompson
0006c83231 optional semi-colons
SVN=123245
2008-06-17 17:57:31 -07:00
Ken Thompson
4e8142c929 maps
SVN=123089
2008-06-16 22:34:50 -07:00
Ken Thompson
3f2d542817 added and, or, xor opcodes
SVN=123031
2008-06-16 17:04:39 -07:00
Rob Pike
88a3371a91 print pc on faults
SVN=123030
2008-06-16 17:04:30 -07:00
Ken Thompson
e1a06ccc80 now checks for lvalue/rvalue context of
expressions.
start of generics for calling builtin
     functions
start of map type
'any' demoted from reserved word to type

SVN=122808
2008-06-15 20:24:30 -07:00
Rob Pike
073486c3ed add support for debugging in MACH binaries
fix up libmach_amd64 to handle MACH binaries and symbols
db now works on mac and linux

SVN=122807
2008-06-15 17:22:57 -07:00
Ken Thompson
efec14bc5a plan9 line numbers and line table
SVN=122793
2008-06-13 18:16:23 -07:00
Rob Pike
1ad1044b2d hack to find first instruction for decoding the pc/line table properly.
SVN=122792
2008-06-13 18:15:30 -07:00
Rob Pike
34691ccd10 support symbol tables and line numbers in 6.out executables
SVN=122700
2008-06-13 12:55:37 -07:00
Rob Pike
e9c9c9ace5 add symbol tables and line/pc information to 6.outs
SVN=122699
2008-06-13 12:54:21 -07:00
Ken Thompson
343f5aa7b4 better import/export
SVN=122584
2008-06-12 21:48:56 -07:00
Rob Pike
67e141b637 Bug fix. Without rounding, .shstrtab is written on top of data segment
SVN=122567
2008-06-12 18:51:06 -07:00
Rob Pike
b6c9221bb1 fix name of mach_amd64 library source dir
SVN=122506
2008-06-12 14:52:41 -07:00
Rob Pike
ed5e39a66d Add 6db
SVN=122505
2008-06-12 14:50:25 -07:00
Ken Thompson
ef61a4cb1e better version of op=
fixed bugs in /= and %/

SVN=122493
2008-06-12 14:21:09 -07:00
Rob Pike
54bca54655 make paths explicit for easier installation
SVN=122488
2008-06-12 13:43:47 -07:00
Rob Pike
e2e6b7e4cc remove reference to 9ar
SVN=122487
2008-06-12 13:38:54 -07:00
Rob Pike
24dbd2413b remove reference to 9ar
SVN=122486
2008-06-12 13:37:54 -07:00
Rob Pike
69b74c3953 import the plan 9 libraries libc (lib9) and libbio into the tree.
remove the dependency on /home/r.

SVN=122482
2008-06-12 13:26:16 -07:00
Ken Thompson
2254a8ee99 import/export
SVN=122309
2008-06-11 21:06:26 -07:00
Rob Pike
2694a85a52 tweaks in clean rules and dependencies
SVN=122274
2008-06-11 18:01:45 -07:00
Rob Pike
461d1b7987 convert from mk to make
phew.

SVN=122266
2008-06-11 17:50:07 -07:00
Rob Pike
32aa0d9198 generated file; needs updating
SVN=122179
2008-06-11 14:03:52 -07:00
Rob Pike
820368a19a fix up mkfiles to use $GOROOT instead of $PLAN9
mention in setup doc that binaries go into $HOME/bin

SVN=122177
2008-06-11 13:59:55 -07:00
Rob Pike
df28e14e5b add a setup document, and tweak the scripts that it mentions
SVN=122175
2008-06-11 13:34:08 -07:00
Ken Thompson
2bba3a610d reorder1 - function first instead of last
SVN=122160
2008-06-11 12:25:44 -07:00
Ken Thompson
0b3093f0a5 debugging to get fmt to run
SVN=122046
2008-06-10 21:29:57 -07:00
Ken Thompson
36f21e00f5 mode elf tossing
SVN=121962
2008-06-10 12:42:37 -07:00
Ken Thompson
6a659ebf13 new elf header
SVN=121737
2008-06-09 13:16:50 -07:00
Ken Thompson
f9c58c25e0 more nihan
SVN=121622
2008-06-08 19:02:27 -07:00
Ken Thompson
9abf9e8a37 nihon
SVN=121620
2008-06-08 18:26:23 -07:00
Ken Thompson
b6eca3534c bug in len
SVN=121618
2008-06-08 17:46:28 -07:00
Ken Thompson
610644a1ca asdf
SVN=121615
2008-06-08 17:21:46 -07:00
Rob Pike
27d95f1372 use /bin/ed to avoid compatibility issues with plan 9 ed
SVN=121611
2008-06-08 17:02:01 -07:00
Ken Thompson
36bfd2a906 floating point
SVN=121607
2008-06-08 16:11:14 -07:00
Ken Thompson
8200a0b088 optional semicolons
SVN=121604
2008-06-08 12:48:37 -07:00
Ken Thompson
f7753f1687 more code generation - mostly shift and multiply
SVN=121585
2008-06-07 15:21:02 -07:00
Ken Thompson
181ad4743c more div/mod
SVN=121577
2008-06-06 21:21:54 -07:00
Ken Thompson
d83b994da6 div and mod operators
SVN=121576
2008-06-06 20:43:29 -07:00
Ken Thompson
feb1c77f9c cafebabe
SVN=121574
2008-06-06 19:16:18 -07:00
Ken Thompson
b6218e6907 '\Ucafebabe'
SVN=121562
2008-06-06 17:42:03 -07:00
Ken Thompson
609cf0c3a7 fixed \\ secape in strings
SVN=121553
2008-06-06 17:08:21 -07:00
Ken Thompson
a93099cd8c SVN=121547 2008-06-06 17:01:33 -07:00
Ken Thompson
6b8bd3556a nonaddressable = functioncall
code gen error

SVN=121541
2008-06-06 16:49:35 -07:00
Ken Thompson
d1493d1edc checked into both gc and runtime by mistake
SVN=121498
2008-06-06 15:01:50 -07:00
Ken Thompson
498ed50061 code gen bug calling i2s
SVN=121497
2008-06-06 15:01:02 -07:00
Ken Thompson
e372be9e76 code gen bug in ++ and --
SVN=121476
2008-06-06 13:54:59 -07:00
Ken Thompson
fa259ff89c fix different ANON flag between
darwin and linux

SVN=121371
2008-06-05 21:02:55 -07:00
Ken Thompson
959f9fb3d4 goos garch
SVN=121368
2008-06-05 19:53:15 -07:00
Ken Thompson
bbb2073223 goos garch
SVN=121367
2008-06-05 19:38:39 -07:00
Ken Thompson
8527f49e24 goos and goarch
SVN=121349
2008-06-05 16:57:26 -07:00
Ken Thompson
e2c3ec3173 goos goarch
SVN=121348
2008-06-05 16:56:23 -07:00
Ken Thompson
28429aaaa6 goos and goarch
SVN=121346
2008-06-05 16:55:06 -07:00
Ken Thompson
2b77d87fca goos and goarch
SVN=121345
2008-06-05 16:54:34 -07:00
Rob Pike
5624e34494 rearrange tree to reflect design based on $GOROOT $GOOS $GOARCH
SVN=121291
2008-06-05 14:20:24 -07:00
Ken Thompson
f4ccabdea6 stuff
SVN=121190
2008-06-04 16:44:48 -07:00
Rob Pike
df8ac28975 initial runtime code checkin
SVN=121183
2008-06-04 15:52:48 -07:00
Ken Thompson
f1880579ef loaded problem getting main from a library
SVN=121175
2008-06-04 15:33:59 -07:00
Ken Thompson
6633be6a86 fix loader problem loading main from a library
SVN=121174
2008-06-04 15:32:47 -07:00
Ken Thompson
3adcf6fa0e touch to make later modified date
SVN=121172
2008-06-04 15:08:59 -07:00
Rob Pike
6b4d69e5f0 move old code into 'old' directory
add src/test dir

SVN=121166
2008-06-04 14:46:07 -07:00
Rob Pike
0cafb9ea3d Add compiler source to new directory structure
SVN=121164
2008-06-04 14:37:38 -07:00
Rob Pike
7fbe486b1a use new conversion syntax to simplify test
SVN=118019
2008-05-07 17:34:51 -07:00
Rob Pike
37b8eb4648 fix double declaration of g
SVN=118016
2008-05-07 17:32:58 -07:00
Rob Pike
38c083c1ca Require names for return values for functions with complex return types.
SVN=117346
2008-05-01 00:01:45 -07:00
Rob Pike
b806ba4d88 Add description of how compiling and linking handle dependencies.
SVN=115807
2008-04-15 16:43:06 -07:00
Rob Pike
8cdb71017a remove noisy print
SVN=114939
2008-04-03 16:59:46 -07:00
Rob Pike
b749038246 Add a rudimentary vector container to ameliorate the inability to allocate dynamic arrays.
SVN=114931
2008-04-03 16:38:21 -07:00
Rob Pike
01764a30fe make digits a string instead of an array of bytes.
use string* to pass it around.

SVN=114795
2008-04-02 21:32:39 -07:00
Ken Thompson
5d6eba80f8 generate an error if the foreward
declaration of a func does not exactly
match the actual (or another foreward)
declaration. the reason is that when
there are 2 declarations of a function,
the names of the parameters are taken
from the first. thus
   func x(a int);
followed by
   func x(b int) { ... }
will have the parameter named "a" and
"b" will be undefined.

SVN=114788
2008-04-02 20:23:01 -07:00
Ken Thompson
87278c26e2 bug36
fixed error in symbol table in
the second forward declaration of
a function.

SVN=114572
2008-04-01 12:48:20 -07:00
Ken Thompson
e73674b291 code to assign nil to an interface
without conversions

SVN=114453
2008-03-31 19:19:37 -07:00
Ken Thompson
5918f80f1a bug31
failed to correctly convert from pointer
to interface in a return statement.

moved ANY from a special type in
chan/map to a basic type.

SVN=114350
2008-03-31 11:50:47 -07:00
Ken Thompson
c69d54e7cd bug28
fix code generation bug in
second index of string slice.

SVN=114255
2008-03-29 16:27:12 -07:00
Ken Thompson
0b62cb61ca fix bug30
automatic declaration leaking
from one function to another

SVN=114252
2008-03-29 15:37:38 -07:00
Ken Thompson
c5c8268a78 SVN=114213 2008-03-28 15:08:58 -07:00
Ken Thompson
2181098189 SVN=114204 2008-03-28 13:56:47 -07:00
Ken Thompson
cb87526ce3 SVN=114202 2008-03-28 13:41:41 -07:00
Rob Pike
42d7850608 Basic formatted I/O library plus one support lib.
SVN=113977
2008-03-27 00:06:21 -07:00
Brian Kernighan
d82b11e4a4 last-minute fix: convert to ANSI C
R=dmr
DELTA=3  (2 added, 0 deleted, 1 changed)
1988-04-01 02:03:04 -05:00
Brian Kernighan
0744ac9691 convert to Draft-Proposed ANSI C
R=dmr
DELTA=5  (2 added, 0 deleted, 3 changed)
1988-04-01 02:02:04 -05:00
Brian Kernighan
0bb0b61d6a convert to C
R=dmr
DELTA=6  (0 added, 3 deleted, 3 changed)
1974-01-20 01:02:03 -04:00
Brian Kernighan
7d7c6a97f8 hello, world
R=ken
DELTA=7  (7 added, 0 deleted, 0 changed)
1972-07-18 19:05:45 -05:00