Improve reference behavior
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- javascript, swift, wasm
- 領域
- web-dev
調査の方向性
Runtime/src/index.ts、特に SwiftRuntimeHeap.release(ref) から始め、issue に示されているロギングの変更を使って報告を再現してください。関数の繰り返しの解放を、JavaScript 言語関数に対する望ましい処理と比較してください。これらの関数が誤って解放されないよう、合意された動作が実装されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Swift
- スター
- 986
- フォーク
- 76
- 平均マージ
- 21時間 11分
- マージ済み PR(30日)
- 4
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
swiftwasm/JavaScriptKit のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
swiftwasm/JavaScriptKit#793 ·
-
swiftwasm/JavaScriptKit#785 · 担当者 1 名 ·
-
[SwiftBuild] Preserve duplicate archive members when SwiftBuild expands static archives for linking オープン
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
swiftwasm/JavaScriptKit#781 · コメント 3 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
swiftwasm/JavaScriptKit#773 ·
-
swiftwasm/JavaScriptKit#767 · 担当者 1 名 ·
swiftwasm/JavaScriptKit の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
manaflow-ai/cmux#13763 ·
-
type: feature request
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
googleapis/google-cloud-swift#1036 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
wultra/mtoken-sdk-ios#253 ·
-
area:dictation documentation P2
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
uttrflow/uttrflow-swift#1180 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100