- 01 Jun, 2013 5 commits
-
-
Daniel Morsing authored
Fixes #5609. R=golang-dev, remyoudompheng, r CC=golang-dev https://golang.org/cl/9757045
-
Oling Cat authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/9941043
-
Keith Randall authored
seems to break freebsd-386. R=golang-dev, dave CC=golang-dev https://golang.org/cl/9915047
-
Keith Randall authored
Before this change, grow work was done only during map writes to ensure multithreaded safety. This can lead to maps remaining in a partially grown state for a long time, potentially forever. This change allows grow work to happen during reads, which will lead to grow work finishing sooner, making the resulting map smaller and faster. Grow work is not done in parallel. Reads can happen in parallel while grow work is happening. R=golang-dev, dvyukov, khr, iant CC=golang-dev https://golang.org/cl/8852047
-
Keith Randall authored
instead of regular g stack. We do this so that the g stack we're currently running on is no longer changing. Cuts the root set down a bit (g0 stacks are not scanned, and we don't need to scan gc's internal state). Also an enabler for copyable stacks. R=golang-dev, cshapiro, khr, 0xe2.0x9a.0x9b, dvyukov, rsc, iant CC=golang-dev https://golang.org/cl/9754044
-
- 31 May, 2013 9 commits
-
-
Anthony Martin authored
R=golang-dev, r, bradfitz CC=golang-dev https://golang.org/cl/8651043
-
Carl Shapiro authored
An embedded trampoline is a function that exists to marshal a receiver of type *S to a receiver of type *T when T is an embedded field in S. Embedded trampolines are generated by a special path through the compiler and are not subject to the general analysis and annotation done to functions. Their effects must be provided explicitly. R=golang-dev, r, daniel.morsing, minux.ma CC=golang-dev https://golang.org/cl/9874043
-
Anthony Martin authored
We require $objtype in make.rc and rc needs $path for finding commands. Also include $cputype which we may use in the future. R=golang-dev, minux.ma, r CC=golang-dev https://golang.org/cl/9905043
-
Alberto García Hierro authored
* Add a CXXFiles field to Package, which includes .cc, .cpp and .cxx files. * CXXFiles are compiled using g++, which can be overridden using the CXX environment variable. * Include .hh, .hpp and .hxx files in HFiles. * Add support for CPPFLAGS (used for both C and C++) and CXXFLAGS (used only for C++) in cgo directive. * Changed pkg-config cgo directive to modify CPPFLAGS rather than CFLAGS, so both C and C++ files get any flag returned by pkg-config --cflags. Fixes #1476. R=iant, r CC=bradfitz, gobot, golang-dev, iant, minux.ma, remyoudompheng, seb.binet https://golang.org/cl/8248043
-
Robert Griesemer authored
As suggested by ej@evanjones.ca. Fixes #5604. R=r CC=golang-dev https://golang.org/cl/9899043
-
Dave Cheney authored
Update #5599 R=golang-dev, r, minux.ma CC=golang-dev https://golang.org/cl/9738052
-
Dmitriy Vyukov authored
mheap.map become a pointer, so nelem(h->map) returns 1 rather than the map size. As the result coalescing with subsequent spans does not happen. R=golang-dev, khr CC=golang-dev https://golang.org/cl/9649046
-
Dmitriy Vyukov authored
It is a caching wrapper around SysAlloc() that can allocate small chunks. Use it for symtab allocations. Reduces number of symtab walks from 4 to 3 (reduces buildfuncs time from 10ms to 7.5ms on a large binary, reduces initial heap size by 680K on the same binary). Also can be used for type info allocation, itab allocation. There are also several places in GC where we do the same thing, they can be changed to use persistentalloc(). Also can be used in FixAlloc, because each instance of FixAlloc allocates in 128K regions, which is too eager. Reincarnation of committed and rolled back https://golang.org/cl/9805043 The latent bugs that it revealed are fixed: https://golang.org/cl/9837049 https://golang.org/cl/9778048 R=golang-dev, khr CC=golang-dev https://golang.org/cl/9778049
-
Keith Randall authored
Then use the limit to make sure MHeap_LookupMaybe & inlined copies don't return a span if the pointer is beyond the limit. Use this fact to optimize all call sites. R=golang-dev, dvyukov CC=golang-dev https://golang.org/cl/9869045
-
- 30 May, 2013 8 commits
-
-
Rob Pike authored
R=golang-dev, khr, rsc CC=golang-dev https://golang.org/cl/9728045
-
Rob Pike authored
As the code now says: We are forced to return a float64 because the API is silly, but do the division as integers so we can ask if AllocsPerRun()==1 instead of AllocsPerRun()<2. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/9837049
-
Dmitriy Vyukov authored
as was dicussed in cl/9791044 R=golang-dev, r CC=golang-dev https://golang.org/cl/9853046
-
Dmitriy Vyukov authored
Required for preemptive scheduler, see the comment. R=golang-dev, daniel.morsing CC=golang-dev https://golang.org/cl/9841047
-
Rémy Oudompheng authored
Escape analysis already gives that the underlying array does not escape but the result was ignored. Fixes #5484. R=golang-dev, dave, daniel.morsing CC=golang-dev https://golang.org/cl/9662046
-
Lucio De Re authored
Fixes #5591. R=golang-dev, dave, minux.ma, cshapiro CC=carl shapiro <cshapiro, golang-dev https://golang.org/cl/9839046
-
Alex Brainman authored
Fixes #5405. R=golang-dev, adg CC=golang-dev https://golang.org/cl/9856043
-
Carl Shapiro authored
A nosplits was assumed to have no argument information and no pointer map. However, nosplits created by the linker often have both. This change uses the pointer map size as an alternate source of argument size when processing a nosplit. In addition, the symbol table construction pointer map size and argument size consistency check is strengthened. If a nptrs is greater than 0 it must be equal to the number of argument words. R=golang-dev, khr, khr CC=golang-dev https://golang.org/cl/9666047
-
- 29 May, 2013 11 commits
-
-
Shenghou Ma authored
to avoid unintentionally clobber R9/R10. Thanks Lucio for the suggestion. PS: yes, this could be considered a big change (but not an API change), but as it turns out even temporarily changes R9/R10 in user code is unsafe and leads to very hard to diagnose problems later, better to disable using R9/R10 when the user first uses it. See CL 6300043 and CL 6305100 for two problems caused by misusing R9/R10. R=golang-dev, khr, rsc CC=golang-dev https://golang.org/cl/9840043
-
Shenghou Ma authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/9826043
-
Carl Shapiro authored
R=golang-dev, dave, iant CC=golang-dev https://golang.org/cl/9738045
-
Jan Ziak authored
R=iant CC=golang-dev https://golang.org/cl/9738046
-
Rob Pike authored
The old code put the index before the period in the precision; it should be after so it's always before the star, as documented. A little trickier to do in one pass but compensated for by more tests and catching a couple of other error cases. R=rsc CC=golang-dev https://golang.org/cl/9751044
-
John Shahid authored
Currently we only check the leaf node's issuer against the list of distinguished names in the server's CertificateRequest message. This will fail if the client certiciate has more than one certificate in the path and the leaf node issuer isn't in the list of distinguished names, but the issuer's issuer was in the distinguished names. R=agl, agl CC=gobot, golang-dev https://golang.org/cl/9795043
-
Adam Langley authored
Generated by addca. R=gobot CC=golang-dev https://golang.org/cl/9798049
-
Dmitriy Vyukov authored
This is needed for preemptive scheduler, because during stoptheworld we want to wait with timeout and re-preempt M's on timeout. R=golang-dev, remyoudompheng, iant CC=golang-dev https://golang.org/cl/9375043
-
Katrina Owen authored
See https://en.wikipedia.org/wiki/Newton%27s_method#Square_root_of_a_number R=golang-dev, minux.ma, adg CC=golang-dev https://golang.org/cl/9145044
-
Andrew Gerrand authored
R=golang-dev CC=golang-dev https://golang.org/cl/9853043
-
Carl Shapiro authored
With this change the compiler emits a bitmap for each function covering its stack frame arguments area. If an argument word is known to contain a pointer, a bit is set. The garbage collector reads this information when scanning the stack by frames and uses it to ignores locations known to not contain a pointer. R=golang-dev, bradfitz, daniel.morsing, dvyukov, khr, khr, iant, cshapiro CC=golang-dev https://golang.org/cl/9223046
-
- 28 May, 2013 7 commits
-
-
Dmitriy Vyukov authored
This depends on: 9791044: runtime: allocate page table lazily Once page table is moved out of heap, the heap becomes small. This removes unnecessary dereferences during heap access. No logical changes. R=golang-dev, khr CC=golang-dev https://golang.org/cl/9802043
-
Dmitriy Vyukov authored
This removes the 256MB memory allocation at startup, which conflicts with ulimit. Also will allow to eliminate an unnecessary memory dereference in GC, because the page table is usually mapped at known address. Update #5049. Update #5236. R=golang-dev, khr, r, khr, rsc CC=golang-dev https://golang.org/cl/9791044
-
Dmitriy Vyukov authored
we need it for GC anyway. R=golang-dev, khr, dave, khr CC=golang-dev https://golang.org/cl/9728044
-
Dmitriy Vyukov authored
Currently the test closes random files descriptors, which leads to hang (in particular if netpoll fd is closed). Try to open only fd 3, since the parent process expects it to be fd 3 anyway. Fixes #5571. R=golang-dev, r CC=golang-dev https://golang.org/cl/9778048
-
Dmitriy Vyukov authored
The 'n' variable is used during rescan initiation in GC_END case, but it's overwritten with chan capacity in GC_CHAN case. As the result rescan is done with the wrong object size. Fixes #5554. R=golang-dev, khr CC=golang-dev https://golang.org/cl/9831043
-
Shenghou Ma authored
also don't clobber R9 if it is about to crash. In response to https://golang.org/cl/9251043/#msg2. R=golang-dev, khr, khr, dave CC=golang-dev https://golang.org/cl/9778046
-
Dmitriy Vyukov authored
multiple failures on amd64 ««« original CL description runtime: introduce helper persistentalloc() function It is a caching wrapper around SysAlloc() that can allocate small chunks. Use it for symtab allocations. Reduces number of symtab walks from 4 to 3 (reduces buildfuncs time from 10ms to 7.5ms on a large binary, reduces initial heap size by 680K on the same binary). Also can be used for type info allocation, itab allocation. There are also several places in GC where we do the same thing, they can be changed to use persistentalloc(). Also can be used in FixAlloc, because each instance of FixAlloc allocates in 128K regions, which is too eager. R=golang-dev, daniel.morsing, khr CC=golang-dev https://golang.org/cl/9805043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/9822043
-