runtime: fix bugs in previous commit
These were fixed in my local commit,
but I forgot that the web Submit button can't see that.
Change-Id: Iec3a70ce3ccd9db2a5394ae2da0b293e45ac2fb5
Reviewed-on: https://go-review.googlesource.com/2822
Reviewed-by: Russ Cox <rsc@golang.org>
diff --git a/src/runtime/malloc.go b/src/runtime/malloc.go
index eb895a9..90cf736 100644
--- a/src/runtime/malloc.go
+++ b/src/runtime/malloc.go
@@ -128,7 +128,7 @@
} else if size&1 == 0 {
off = round(off, 2)
}
- if off+size <= maxTinySize {
+ if off+size <= maxTinySize && c.tiny != nil {
// The object fits into existing tiny block.
x = add(c.tiny, off)
c.tinyoffset = off + size
@@ -1042,7 +1042,7 @@
lock(&persistent.lock)
persistent.off = round(persistent.off, align)
- if persistent.off+size > chunk {
+ if persistent.off+size > chunk || persistent.base == nil {
persistent.base = sysAlloc(chunk, &memstats.other_sys)
if persistent.base == nil {
unlock(&persistent.lock)