wit, wit/bindgen: support abstract "pointer" type, size, and alignment
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza revisando el código existente de ABI, lifting y lowering en wit y wit/bindgen; después, compara sus supuestos sobre los punteros con el soporte propuesto para wasm64 en la especificación del Component Model. El trabajo estará terminado cuando un tipo de puntero entero tenga un tamaño y una alineación dependientes de la arquitectura, y el código Go generado admita anchos de puntero de 32 bits y 64 bits sin suposiciones sobre un layout fijo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
In order to support wasm64, with 64-bit wide pointers, we need to relax the constraint in the Component Model and Canonical ABI that pointer types fit in 32 bits.
Ideally the generated Go code for a component can handle pointer widths of either 32 or 64 bits without baking assumptions into the precise memory layout of structures into the lifting and lowering code.
Tasks
- Reconcile this with proposed
wasm64support in the Component Model spec. - Introduce "integer pointer" type (e.g.
uintptr) with size/alignment that varies based on arch. For instance, when flattening avarianttype with astringorlist<T>, the flattened pointers resolve to auintptrin Go. - Thread this flexible width concept through the ABI, lifting, and lowering code in
witandwit/bindgen.
- Lenguaje dominante
- Go
- Estrellas
- 148
- Forks
- 20
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bytecodealliance/go-modules
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
bytecodealliance/go-modules#428 · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
bytecodealliance/go-modules#411 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
bytecodealliance/go-modules#410 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
bytecodealliance/go-modules#394 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
bytecodealliance/go-modules#377 · 1 comentario ·
Todos los issues de bytecodealliance/go-modules
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
-
enhancement needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
kind/cleanup
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
kubernetes-sigs/kueue#15947 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
sympozium-ai/sympozium#627 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100