Move lenType definition to runtime (partially)
Этот коммит содержится в:
родитель
abaae5b90d
коммит
bf160d096b
5 изменённых файлов: 24 добавлений и 4 удалений
|
@ -88,7 +88,7 @@ func NewCompiler(pkgName, triple string, dumpSSA bool) (*Compiler, error) {
|
|||
|
||||
// Depends on platform (32bit or 64bit), but fix it here for now.
|
||||
c.intType = llvm.Int32Type()
|
||||
c.lenType = llvm.Int32Type()
|
||||
c.lenType = llvm.Int32Type() // also defined as runtime.lenType
|
||||
c.uintptrType = c.targetData.IntPtrType()
|
||||
c.i8ptrType = llvm.PointerType(llvm.Int8Type(), 0)
|
||||
|
||||
|
|
8
main.go
8
main.go
|
@ -13,11 +13,15 @@ func Compile(pkgName, runtimePath, outpath, target string, printIR, dumpSSA bool
|
|||
var buildTags []string
|
||||
// TODO: put this somewhere else
|
||||
if target == "pca10040" {
|
||||
buildTags = append(buildTags, "nrf", "nrf52", "nrf52832")
|
||||
// Pretend to be a WASM target, not ARM (for standard library support).
|
||||
buildTags = append(buildTags, "nrf", "nrf52", "nrf52832", "js", "wasm")
|
||||
target = "armv7m-none-eabi"
|
||||
} else if target == "arduino" {
|
||||
buildTags = append(buildTags, "avr", "avr8", "atmega", "atmega328p")
|
||||
// Pretend to be a WASM target, not AVR (for standard library support).
|
||||
buildTags = append(buildTags, "avr", "avr8", "atmega", "atmega328p", "js", "wasm")
|
||||
target = "avr--"
|
||||
} else {
|
||||
buildTags = append(buildTags, "linux", "amd64")
|
||||
}
|
||||
|
||||
c, err := NewCompiler(pkgName, target, dumpSSA)
|
||||
|
|
8
src/runtime/arch_amd64.go
Обычный файл
8
src/runtime/arch_amd64.go
Обычный файл
|
@ -0,0 +1,8 @@
|
|||
// +build amd64
|
||||
|
||||
package runtime
|
||||
|
||||
const GOARCH = "amd64"
|
||||
|
||||
// The length type used inside strings and slices.
|
||||
type lenType uint32
|
8
src/runtime/arch_wasm.go
Обычный файл
8
src/runtime/arch_wasm.go
Обычный файл
|
@ -0,0 +1,8 @@
|
|||
// +build wasm
|
||||
|
||||
package runtime
|
||||
|
||||
const GOARCH = "wasm"
|
||||
|
||||
// The length type used inside strings and slices.
|
||||
type lenType uint32
|
|
@ -13,7 +13,7 @@ import (
|
|||
type hashmap struct {
|
||||
next *hashmap // hashmap after evacuate (for iterators)
|
||||
buckets unsafe.Pointer // pointer to array of buckets
|
||||
count uint
|
||||
count lenType
|
||||
keySize uint8 // maybe this can store the key type as well? E.g. keysize == 5 means string?
|
||||
valueSize uint8
|
||||
bucketBits uint8
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче