Improve reference behavior
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, swift, wasm
- Área
- web-dev
Línea de trabajo
Comienza con Runtime/src/index.ts, especialmente con SwiftRuntimeHeap.release(ref), y reproduce el informe usando el cambio de registro mostrado en el issue. Compara las desasignaciones repetidas de funciones con el tratamiento deseado de las funciones del lenguaje JavaScript; se considera completado cuando se haya implementado un comportamiento acordado para que esas funciones no se liberen incorrectamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I made a small change to report whenever an object ref is deleted:
---
Runtime/src/index.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/Runtime/src/index.ts b/Runtime/src/index.ts
index 0e641ff..ddfba4e 100644
--- a/Runtime/src/index.ts
+++ b/Runtime/src/index.ts
@@ -93,6 +93,7 @@ class SwiftRuntimeHeap {
release(ref: ref) {
const value = this._heapValueById.get(ref);
const isObject = typeof value == "object"
+ console.log('dereferencing', value);
if (isObject) {
const entry = this._heapEntryByValue.get(value)!;
entry.rc--;
(copy the content of the code block and run pbpaste | git apply in your terminal to make this change)
It reports many deallocations. The thing that caught my attention was the repeated deallocation of functions (like toString and hasOwnProperty). I wonder if there’s a way to recognize functions that are part of the JavaScript language and either dynamically call them when needed or mark them so they don’t get released.
- Lenguaje dominante
- Swift
- Estrellas
- 986
- Forks
- 76
- Merge medio
- 21 h 11 min
- PR fusionados (30 d)
- 4
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 swiftwasm/JavaScriptKit
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
swiftwasm/JavaScriptKit#793 ·
-
swiftwasm/JavaScriptKit#785 · 1 asignado ·
-
[SwiftBuild] Preserve duplicate archive members when SwiftBuild expands static archives for linking Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
swiftwasm/JavaScriptKit#781 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
swiftwasm/JavaScriptKit#773 ·
-
swiftwasm/JavaScriptKit#767 · 1 asignado ·
Todos los issues de swiftwasm/JavaScriptKit
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
manaflow-ai/cmux#13763 ·
-
type: feature request
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
googleapis/google-cloud-swift#1036 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
wultra/mtoken-sdk-ios#253 ·
-
The correction-threshold rationale says 17 restraint cases collide; the current corpus has 16 Abiertoarea:dictation documentation P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
uttrflow/uttrflow-swift#1180 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100