Skip to content

fix(parity): native emits extra dynamic CHA edges for fun/classes2 fixtures #1543

Description

@carlos-alm

Summary

In node scripts/parity-compare.mjs --langs jelly-micro, the native engine produces 6 extra dynamic call edges that WASM does not:

  • classes2/classes2.js:G.constructor → prototypes3/prototypes3.js:a(constant) conf=0.5 dyn=1
  • classes2/classes2.js:G.constructor → spread/spread.js:a(function) conf=0.5 dyn=1
  • fun/fun.js:bar → prototypes3/prototypes3.js:c(constant) conf=0.5 dyn=1
  • fun/fun.js:bar → spread/spread.js:c(function) conf=0.5 dyn=1
  • fun/fun.js:foo → spread/spread.js:b(function) conf=0.5 dyn=1
  • fun/fun.js:foo → super5/super5.js:b(function) conf=0.5 dyn=1

These are false-positive dynamic CHA edges — the native engine's CHA resolution is overly broad for this()-style calls in fun.js and constructor calls in classes2.js, matching names from unrelated fixture files.

Notes

Pre-existing on main, not introduced by any recent PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions