Closed Bug 565827 Opened 14 years ago Closed 6 months ago

Make wrappers non-native, using proxies [meta]

Categories

(Core :: JavaScript Engine, defect)

defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: gal, Unassigned)

References

Details

(Keywords: meta)

We probably want to split this in a couple sub-bugs for each wrapper.

Advantages:
- for a simple wrapper (SOW) this traces 10 lines for hundreds of lines of existing code
- non-native wrappers are faster to operate on, no need to locally "shadow" each operation and update the property tree
- non-native wrappers use less memory since we don't cache properties locally
- we can make expandos survive explicitly where needed, but only when we have expandos do we need storage for them
- be more transparent and less leaky
- if we start tracing proxies, we will automatically also optimize wrappers
Depends on: harmony:proxies
OS: Mac OS X → All
Hardware: x86 → All
Not to mention, this also eliminates a whole bunch of open bugs we have for wrappers that result from their non-nativeness, i.e. keys() only shows properties that have been resolved so far.
Depends on: 566818
No longer depends on: 566818
Assignee: general → nobody
Severity: normal → S3
Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.