Bug 18643
Summary: | SQUIRRELFISH: need to support implicit function calls (valueOf, toString) | ||
---|---|---|---|
Product: | WebKit | Reporter: | Maciej Stachowiak <mjs> |
Component: | JavaScriptCore | Assignee: | Oliver Hunt <oliver> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | oliver, zwarich |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Mac | ||
OS: | OS X 10.5 | ||
Bug Depends on: | |||
Bug Blocks: | 18624 |
Maciej Stachowiak
SquirrelFish does not yet properly handle property getters and setters.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Oliver Hunt
The problem for these implicit function calls (valueOf is called by toNumber, toString by +, etc, getters/setters by resolve) is that they may require a function call in the VM, which may inturn result in resizing of the RegisterFile which would invalidate state in the originating privateExecute frame. Adding the required guards around all call sites would almost certainly be a perf hit but maybe possible at a few places (resolve?)
Cameron Zwarich (cpst)
This is causing a lot of failures in the remaining JavaScriptCore test failures, e.g. the instanceof tests. We should really find a way to fix this without too large of a performance regression.
Maciej Stachowiak
I'm not sure valueOf / toString are quire the same issue as getters and setters, and we might not want to solve them the exact same way necessarily.
Oliver Hunt
Committed r32669 and r32718