summaryrefslogtreecommitdiff
path: root/libgo/go/runtime
Commit message (Collapse)AuthorAgeFilesLines
* runtime: Remove now unnecessary pad field from ParFor.ian2015-10-3190-11473/+2100
| | | | | | | | | It is not needed due to the removal of the ctx field. Reviewed-on: https://go-review.googlesource.com/16525 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229616 138bc75d-0d04-0410-961f-82ee72b054a4
* PR go/64683ian2015-04-171-0/+4
| | | | | | | | | | | | | | | | runtime/pprof: Assume function with no name is in runtime. GCC PR 65797 causes some of the runtime functions to be compiled with no name in the debug info. This in turn causes the runtime/pprof test to fail as reported in GCC PR 64683. There are no good choices when a function has no name in the debug info, but here we assume that if we see such a function while reading the runtime functions, we assume that it is also a runtime function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222200 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Fix go/runtime test failure on S390.ian2015-03-262-1/+11
| | | | | | | | The tests run out of memory on 31-bit S390 systems because it does not have split stacks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221681 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Upgrade to Go 1.4.2 release.ian2015-03-067-33/+119
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221245 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime: Add memprofilerate to GODEBUGian2015-02-061-0/+4
| | | | | | | | | | | Add memprofilerate as a value recognized in the GODEBUG env var. The value provided is used as the new setting for runtime.MemProfileRate, allowing the user to adjust memory profiling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220470 138bc75d-0d04-0410-961f-82ee72b054a4
* PR go/64725ian2015-01-231-0/+9
| | | | | | | runtime: Disable tests that require that a finalizer run. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220067 138bc75d-0d04-0410-961f-82ee72b054a4
* PR go/64683ian2015-01-201-2/+4
| | | | | | | | | | runtime/pprof: Let memory profiler test pass if value not collected. Since gccgo's GC is not precise, the transient value may not be collected. Let the regexp match that case as well. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219900 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo, compiler: Upgrade libgo to Go 1.4, except for runtime.ian2015-01-1573-499/+11308
| | | | | | | | | | | | | | | | | | | | | | | | | | | This upgrades all of libgo other than the runtime package to the Go 1.4 release. In Go 1.4 much of the runtime was rewritten into Go. Merging that code will take more time and will not change the API, so I'm putting it off for now. There are a few runtime changes anyhow, to accomodate other packages that rely on minor modifications to the runtime support. The compiler changes slightly to add a one-bit flag to each type descriptor kind that is stored directly in an interface, which for gccgo is currently only pointer types. Another one-bit flag (gcprog) is reserved because it is used by the gc compiler, but gccgo does not currently use it. There is another error check in the compiler since I ran across it during testing. gotools/: * Makefile.am (go_cmd_go_files): Sort entries. Add generate.go. * Makefile.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219627 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Add sources for go, cgo, and gofmt commands.ian2015-01-061-1/+4
| | | | | | | | | | The new commands are not yet built. That will be done separately. Also include a few changes to go/build to support them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219272 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: add s390 supportian2014-11-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Dominik Vogt. * libgo/go/syscall/libcall_linux_s390.go: New file for s390 support. * libgo/go/syscall/syscall_linux_s390.go: Ditto. * libgo/go/syscall/libcall_linux_s390x.go: New file for s390x support. * libgo/go/syscall/syscall_linux_s390x.go: Ditto. * libgo/go/runtime/pprof/pprof.go (printStackRecord): Support s390 and s390x. * libgo/runtime/runtime.c (runtime_cputicks): Add support for s390 and s390x * libgo/mksysinfo.sh: Ditto. (upcase_fields): New helper function * libgo/go/debug/elf/file.go (applyRelocations): Implement relocations on s390x. (applyRelocationsS390x): Ditto. (DWARF): Ditto. * libgo/go/debug/elf/elf.go (R_390): New constants for S390 relocations. (r390Strings): Ditto. (String): Helper function for S390 relocations. (GoString): Ditto. * libgo/go/reflect/makefuncgo_s390.go: New file. (S390MakeFuncStubGo): Implementation of s390 abi. * libgo/go/reflect/makefuncgo_s390x.go: New file. (S390xMakeFuncStubGo): Implementation of s390x abi. * libgo/go/reflect/makefunc_s390.c: New file. (makeFuncStub): s390 and s390x specific implementation of function. * libgo/go/reflect/makefunc.go (MakeFunc): Add support for s390 and s390x. (makeMethodValue): Ditto. (makeValueMethod): Ditto. * libgo/Makefile.am (go_reflect_makefunc_s_file): Ditto. (go_reflect_makefunc_file): Ditto. * libgo/go/reflect/makefunc_dummy.c: Ditto. * libgo/runtime/runtime.h (__go_makefunc_can_recover): Export prototype for use in makefunc_s390.c. (__go_makefunc_returning): Ditto. * libgo/go/syscall/exec_linux.go (forkAndExecInChild): Fix order of the arguments of the clone system call for s390[x]. * libgo/configure.ac (is_s390): New variable. (is_s390x): Ditto (LIBGO_IS_S390): Ditto. (LIBGO_IS_S390X): Ditto. (GOARCH): Support s390 and s390x. * libgo/go/go/build/build.go (cgoEnabled): Ditto. * libgo/go/go/build/syslist.go (goarchList): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217106 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Add precise type information on the heap.ian2014-09-031-1/+2
| | | | | | | | | | * go-gcc.cc (Gcc_backend::implicit_variable): Remove init parameter. Add is_hidden parameter. (Gcc_backend::implicit_variable_set_init): New method. (Gcc_backend::implicit_variable_reference): New method. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214894 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime: add a missing importian2014-07-201-1/+1
| | | | | | | | | | | | This adds an import of the runtime package to fix compilation of the TestStopCPUProfilingWithProfilerOff function. The gccgo compiler should never have accepted this. The patch for the comiler is http://codereview.appspot.com/116960043 . The test is https://codereview.appspot.com/118000043 . git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212870 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to Go 1.3 release.ian2014-07-1916-131/+605
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212837 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime: Merge master revision 19185.ian2014-07-122-19/+21
| | | | | | | | This revision renames several files in the runtime directory from .c to .goc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212472 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Merge to master revision 19184.ian2014-06-0613-192/+664
| | | | | | | | The next revision, 19185, renames several runtime files, and will be handled in a separate change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211328 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Merge from revision 18783:00cce3a34d7e of master library.ian2014-06-047-6/+164
| | | | | | | | | | | | | | | | This revision was committed January 7, 2014. The next revision deleted runtime/mfinal.c. That will be done in a subsequent merge. This merge changes type descriptors to add a zero field, pointing to a zero value for that type. This is implemented as a common variable. * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and alignment parameters. Permit init parameter to be NULL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211249 138bc75d-0d04-0410-961f-82ee72b054a4
* go/build: Set GOARCH on arm64 systems.ian2014-01-061-1/+1
| | | | | | | | | | | | I am reliably informed that the architecture name and letter for the plan9/inferno compilers for 64-bit ARM systems will be "arm64" and "7" respectively, so let's get that bit in nice and early. From Michael Hudson-Doyle. https://codereview.appspot.com/34830045/ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206374 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to current Go library.ian2013-11-271-0/+25
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205426 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to October 24 version of master library.ian2013-11-0621-131/+1349
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204466 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to Go 1.1.1.ian2013-07-1613-55/+1425
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200974 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler, runtime: Use function descriptors.ian2013-06-182-3/+9
| | | | | | | | | | | | | | | | This changes the representation of a Go value of function type from being a pointer to function code (like a C function pointer) to being a pointer to a struct. The first field of the struct points to the function code. The remaining fields, if any, are the addresses of variables referenced in enclosing functions. For each call to a function, the address of the function descriptor is passed as the last argument. This lets us avoid generating trampolines, and removes the use of writable/executable sections of the heap. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200181 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update Go library to master revision 15489/921e53d4863c.ian2013-01-295-6/+60
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195560 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to current master library sources.ian2012-12-124-5/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194460 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler, runtime: Track fields with tag go:"track".ian2012-11-291-0/+7
| | | | | | | | | | * go-gcc.cc: Include "output.h". (global_variable): Add is_unique_section parameter. (global_variable_set_init): Adjust unique section if necessary. * Make-lang.in (go/go-gcc.o): Add dependency on output.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193945 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to current version of master library.ian2012-11-218-21/+35
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193688 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime: Disable crash tests that runs go tool.ian2012-10-231-9/+14
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192735 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to current sources.ian2012-10-2315-6/+909
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192704 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to Go 1.0.3.ian2012-10-032-6/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192025 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Use libbacktrace rather than debug/elf registration.ian2012-09-282-2/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191831 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime, runtime/pprof: Fix runtime/pprof test to pass, enable it.ian2012-07-261-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189878 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to Go 1.0.2 release.ian2012-06-251-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188943 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to Go 1.0.1 release.ian2012-05-041-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187163 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime: Disable memory profiling in gc_test.ian2012-04-201-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186631 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2012-03-13.ian2012-03-303-9/+30
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186023 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Implement and use runtime.Caller, runtime.Func.FileLine.ian2012-03-073-10/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185025 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2012-03-04 release.ian2012-03-062-5/+14
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185010 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2012-02-22 release.ian2012-03-029-205/+813
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184819 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2012-02-14 release.ian2012-03-028-236/+142
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184798 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2012-02-07.ian2012-02-093-19/+16
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184034 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2012-01-27.ian2012-02-013-3/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183810 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2012-01-20.ian2012-01-252-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183540 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2012-01-15.ian2012-01-252-45/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183539 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime: Bump memory limit in gc_test.ian2011-12-141-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182332 138bc75d-0d04-0410-961f-82ee72b054a4
* runtime: Change gc_test to test only newly allocated memory.ian2011-12-131-4/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182315 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Add back tests of syscall time.ian2011-12-072-9/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182075 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly 2011-11-09.ian2011-12-072-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182073 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2011-11-02.ian2011-12-032-7/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181964 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: Update to weekly.2011-11-01.ian2011-12-022-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181938 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Go library to last weekly.ian2011-10-265-8/+141
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180552 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Go library to r60.ian2011-09-1613-12/+700
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178910 138bc75d-0d04-0410-961f-82ee72b054a4