Commit Graph

65 Commits

Author SHA1 Message Date
Ian Lance Taylor
f4c016e605 runtime: Remove temporary runtime_cond_wait function.
From-SVN: r181897
2011-12-01 23:50:48 +00:00
Ian Lance Taylor
17dcf07581 runtime: Rename sigignore to sig_ignore for Solaris.
From-SVN: r181885
2011-12-01 17:08:12 +00:00
Ian Lance Taylor
3e68d6d75a compiler/runtime: Copy channel implementation from master library.
From-SVN: r181874
2011-12-01 08:06:16 +00:00
Ian Lance Taylor
b87974949f runtime: Copy runtime_panicstring from master library.
From-SVN: r181830
2011-11-30 00:21:52 +00:00
Ian Lance Taylor
08ee945e0b runtime: If no sem_timedwait, use pthread_cond_timedwait.
From-SVN: r181821
2011-11-29 21:58:48 +00:00
Ian Lance Taylor
421ecf992e runtime: If O_CLOEXEC is not defined, define it as 0.
From-SVN: r181814
2011-11-29 19:26:00 +00:00
Ian Lance Taylor
737087cbc8 runtime: Multiplex goroutines onto OS threads.
From-SVN: r181772
2011-11-28 05:45:49 +00:00
Ian Lance Taylor
48e7d50e9f runtime: New lock/note implementation.
From-SVN: r181633
2011-11-22 20:24:44 +00:00
Ian Lance Taylor
5c262e9444 runtime: Use some of 6g runtime.c for easier merging.
From-SVN: r181368
2011-11-14 22:26:45 +00:00
Ian Lance Taylor
34277c5228 Introduce G structure and thread-local global g.
From-SVN: r181301
2011-11-11 21:02:48 +00:00
Ian Lance Taylor
787f74b487 runtime: Don't ask mmap for wrapping memory.
From-SVN: r180732
2011-11-01 05:20:40 +00:00
Ian Lance Taylor
3d43396098 runtime: Correct test of mmap return value.
From-SVN: r180731
2011-11-01 04:55:15 +00:00
Ian Lance Taylor
f0080f6cf9 syscall: Use sched_yield rather than pthread_yield.
From-SVN: r180716
2011-10-31 22:09:21 +00:00
Ian Lance Taylor
d8f412571f Update Go library to last weekly.
From-SVN: r180552
2011-10-26 23:57:58 +00:00
Ian Lance Taylor
f29ce5f5f1 Implement predeclared delete function.
From-SVN: r180438
2011-10-25 17:21:07 +00:00
Ian Lance Taylor
09367c0d60 Don't permit close of receive-only channel.
Better panic on attempt to close nil channel.

From-SVN: r180437
2011-10-25 16:35:24 +00:00
Ian Lance Taylor
de27caacfb Implement new syscall package.
Calls to library functions now use entersyscall and
exitsyscall as appropriate.  This is a first step toward
multiplexing goroutines onto threads.

From-SVN: r180345
2011-10-23 19:04:37 +00:00
Ian Lance Taylor
e6f8e59016 Support nil maps.
From-SVN: r179054
2011-09-21 17:37:50 +00:00
Ian Lance Taylor
f6cde0add6 Fix channels with element type of size zero.
From-SVN: r179030
2011-09-21 00:56:28 +00:00
Ian Lance Taylor
6fa2979911 Fix calling make with slice whose element type is size zero.
From-SVN: r179019
2011-09-20 22:06:20 +00:00
Ian Lance Taylor
31aeabd3c5 Block forever on send/receive to/from nil channel.
From-SVN: r178920
2011-09-16 22:56:32 +00:00
Ian Lance Taylor
adb0401dac Update Go library to r60.
From-SVN: r178910
2011-09-16 15:47:21 +00:00
Ian Lance Taylor
b9f04a8461 Fix defer when not calling recover in function with named results.
From-SVN: r178905
2011-09-16 05:47:20 +00:00
Ian Lance Taylor
ae06570eb6 libgo/runtime: Change std::abort to abort.
From-SVN: r176181
2011-07-11 20:16:01 +00:00
Ian Lance Taylor
de38eefaa7 Change builtin make to runtime call at lowering time.
Use kindNoPointers as 6g does.

	* Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).

From-SVN: r175020
2011-06-14 13:51:16 +00:00
Ian Lance Taylor
3b8dffe701 Change builtin make to runtime call at lowering time.
Use kindNoPointers as 6g does.

	* Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).

From-SVN: r175008
2011-06-14 05:53:10 +00:00
Ian Lance Taylor
891daafaf8 Use backend interface for map descriptors.
From-SVN: r174943
2011-06-11 06:21:55 +00:00
Ian Lance Taylor
5bb92e54b7 libgo: Make os.setenv_c work on systems without setenv.
From-SVN: r174147
2011-05-24 22:21:34 +00:00
Ian Lance Taylor
9ff56c9570 Update to current version of Go library.
From-SVN: r173931
2011-05-20 00:18:15 +00:00
Ian Lance Taylor
4e7e7a49b7 More uses of backend interface for types.
From-SVN: r173507
2011-05-06 20:06:29 +00:00
Ian Lance Taylor
e1c2f29025 libgo: Fix append declaration.
From Rainer Orth.

From-SVN: r172659
2011-04-18 17:31:00 +00:00
Ian Lance Taylor
b39c10b813 Unify handling of runtime support functions.
This introduces the new approach, and rewrites the lowering
code which uses runtime functions.  The code which calls
runtime functions at GENERIC conversion time is not yet
rewritten.

From-SVN: r172396
2011-04-13 21:00:59 +00:00
Ian Lance Taylor
9cc1bb97bc libgo: Use MAP_FIXED if necessary to grab arena.
From Rainer Orth.

	PR go/48240
	* configure.ac: Check for mincore.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* runtime/mem.c: Include unistd.h.
	(addrspace_free): New function.
	(runtime_SysMap): Retry 64-bit runtime_mmap with MAP_FIXED.

From-SVN: r171961
2011-04-05 00:02:15 +00:00
Rainer Orth
06ec98415a libgo: Always initialize semaphores.
2011-04-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR go/48222
	* runtime/malloc.goc (runtime_mallocinit): Call
	runtime_Mprof_Init, runtime_initfintab.
	* runtime/cpuprof.c (runtime_cpuprofinit): New function.
	* runtime/runtime.h (runtime_cpuprofinit): Declare it.
	* runtime/go-main.c (main): Use it.

From-SVN: r171960
2011-04-04 23:43:59 +00:00
Ian Lance Taylor
c29301d6b1 Add runtime profiling infrastructure, not yet working.
From-SVN: r171579
2011-03-27 19:14:55 +00:00
Ian Lance Taylor
c570af00f6 Remove closedchan function.
From-SVN: r171577
2011-03-27 18:06:50 +00:00
Ian Lance Taylor
fe052134f6 Remove closed function. Fix tuple receive in select.
From-SVN: r171440
2011-03-25 05:14:57 +00:00
Ian Lance Taylor
8039ca76a5 Update to current version of Go library.
From-SVN: r171427
2011-03-24 23:46:17 +00:00
Ian Lance Taylor
3137991dfc Tuple receives indicate whether channel is closed.
From-SVN: r171380
2011-03-24 06:01:27 +00:00
Ian Lance Taylor
4bfc521c9e Send on a closed channel panics.
Calling close on a closed channel panics.
Don't limit number of receives on a closed channel.

From-SVN: r171364
2011-03-23 21:13:57 +00:00
Ian Lance Taylor
7b5da51d4f Don't catch LIBPROF in Go code.
From-SVN: r171077
2011-03-16 23:18:40 +00:00
Ian Lance Taylor
5133f00ef8 Update to current version of Go library (revision 94d654be2064).
From-SVN: r171076
2011-03-16 23:05:44 +00:00
Ian Lance Taylor
7b5e671326 re PR go/48019 (Need to handle EINTR in libgo testsuite)
PR go/48019
Ignore EINTR in runtime_lock_full.

From-SVN: r170810
2011-03-09 06:31:37 +00:00
Ian Lance Taylor
a601335076 re PR go/47910 (typo in __go_map_next_prime)
PR go/47910
Correct search for next prime in libgo map code.

From-SVN: r170808
2011-03-09 05:32:36 +00:00
Ian Lance Taylor
d8b878dc29 Permit garbage collection on any compiler generated memory allocation.
From-SVN: r170760
2011-03-07 22:19:50 +00:00
Ian Lance Taylor
691a924baf Avoid race condition manipulating heap when goroutine exits.
From-SVN: r170758
2011-03-07 21:56:40 +00:00
Ian Lance Taylor
7b67393dff Permit comparing non-empty interfaces with empty interfaces.
From-SVN: r170385
2011-02-22 02:52:55 +00:00
Ian Lance Taylor
084996f1d1 Implement __sync_fetch_and_add_4 if necessary.
From-SVN: r169820
2011-02-04 00:49:47 +00:00
Ian Lance Taylor
0c521d1875 Check whether we are using setjmp/longjmp exceptions.
From-SVN: r169777
2011-02-03 01:53:36 +00:00
Ian Lance Taylor
a7c48c8ec5 Test whether libgcc or kernel defines __sync_bool_compare_and_swap_4.
From-SVN: r169504
2011-02-01 21:23:07 +00:00