Expand description
JS ランタイム値の表現。
ヒープオブジェクトは Rc<RefCell<Obj>> で表現する(参照カウントGC)。
循環参照はリークするが、ページ遷移ごとに JsRuntime を破棄するため許容する。
Structs§
- Accessor
- アクセサ記述子(get/set の一方または両方)。
- Byte
Store - オブジェクトの種別。Plain 以外は内部表現を持つ。
1 バイト型 TypedArray の記憶域(共有のバイト列のうち
offからlenバイト)。 - FnvHasher
- FNV-1a ハッシャー。
IndexMap(propsの列挙順序保持のためBTreeMapから 移行。ES仕様のOrdinaryOwnPropertyKeysが要求する挿入順保持のため)の デフォルトハッシャーRandomStateはstdのOS乱数取得に依存しており、default-features = falseにしたno_stdビルドでは提供されない (IndexMap::new()が使えずビルド不能になっていた)。プロパティ名の ハッシュ化にセキュリティ上のDoS耐性(乱数シードによるハッシュ衝突 攻撃対策)は不要なため、決定的な軽量ハッシュ関数で足りる。 - Function
Data - ユーザー定義関数のデータ。
- GenState
- Generator の状態(遅延評価 / replay 方式)。
- Job
- マイクロタスク(then 反応の遅延実行単位)。
- Lazy
Prop Iter &LazyPropMapの反復子(空なら何も返さない)。- Lazy
Prop Map - 空のうちは確保しない
PropMap(8 バイト)。 - Obj
- ヒープオブジェクト本体。名前付きプロパティ + プロトタイプ + 種別。
- Promise
State - Property
Attributes - Reaction
- settle 時に消費する then 反応。
Enums§
- GenCompletion
- Generator の完了・再開種別。
- ObjKind
- Promise
Status - Promise の状態。
- Value
- JS の値。プリミティブ + オブジェクト参照。
Constants§
- NO_
GC_ SLOT - 循環ゴミ回収の台帳に未登録であることを表す番号。
Functions§
- date_
to_ 🔒iso_ string_ repr Dateの文字列表現(ISO 8601、UTC)。builtins.rsのformat_iso/decompose_msと 同じ Howard Hinnant 方式の変換ロジックだが、value.rsはbuiltins.rsに依存できない (下位レイヤのため)ので、ごく小さい純粋関数として独立に複製する (kernel::timerにもある3つ目の複製。詳細は spec/walkthrough.md 2026-07-07 参照)。- fmt_
number - JS の数値表示規則(整数は小数点を付けない、NaN/Infinity 対応)。
- gc_
track 🔒 - 作った
Objを循環ゴミ回収の台帳に載せる(カーネルのみ。ホストの試験では何もしない)。