make runtime compatible with wasm

This commit is contained in:
Li Jie
2025-04-08 16:50:47 +08:00
parent 7c81d9293b
commit be4737461a
183 changed files with 14122 additions and 647 deletions

View File

@@ -707,10 +707,10 @@ func (v Value) Float() float64 {
} else {
switch k {
case Float32:
return float64(bitcast.ToFloat32(uintptr(v.ptr)))
return float64(bitcast.ToFloat32(int32(uintptr(v.ptr))))
case Float64:
if is64bit {
return bitcast.ToFloat64(uintptr(v.ptr))
return bitcast.ToFloat64(int64(uintptr(v.ptr)))
} else {
return *(*float64)(v.ptr)
}
@@ -2845,10 +2845,10 @@ func makeFloat(f flag, v float64, t Type) Value {
var ptr unsafe.Pointer
switch typ.Size() {
case 4:
ptr = unsafe.Pointer(bitcast.FromFloat32(float32(v)))
ptr = unsafe.Pointer(uintptr(bitcast.FromFloat32(float32(v))))
case 8:
if is64bit {
ptr = unsafe.Pointer(bitcast.FromFloat64(v))
ptr = unsafe.Pointer(uintptr(bitcast.FromFloat64(v)))
} else {
ptr = unsafe_New(typ)
*(*float64)(ptr) = v