Commit 9526f3b8 authored by Rob Pike's avatar Rob Pike

use unsafe.Sizeof

R=rsc
DELTA=9  (3 added, 3 deleted, 3 changed)
OCL=24640
CL=24653
parent 8f2b774e
...@@ -10,6 +10,7 @@ package reflect ...@@ -10,6 +10,7 @@ package reflect
import ( import (
"utf8"; "utf8";
"sync"; "sync";
"unsafe";
) )
type Type interface type Type interface
...@@ -47,9 +48,11 @@ const ( ...@@ -47,9 +48,11 @@ const (
UintptrKind; UintptrKind;
) )
// Int is guaranteed large enough to store a size. var tmp_interface interface{} // used just to compute sizes of these constants
var ptrsize int const (
var interfacesize int ptrsize = unsafe.Sizeof(&tmp_interface);
interfacesize = unsafe.Sizeof(tmp_interface);
)
var missingString = "$missing$" // syntactic name for undefined type names var missingString = "$missing$" // syntactic name for undefined type names
var dotDotDotString = "..." var dotDotDotString = "..."
...@@ -401,9 +404,6 @@ func unlock() { ...@@ -401,9 +404,6 @@ func unlock() {
} }
func init() { func init() {
ptrsize = 8; // TODO: compute this
interfacesize = 2*ptrsize; // TODO: compute this
lock(); // not necessary because of init ordering but be safe. lock(); // not necessary because of init ordering but be safe.
types = make(map[string] Type); types = make(map[string] Type);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment