Summary: | SQUIRRELFISH: correctly handle variable and function declarations in eval code | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Cameron Zwarich (cpst) <zwarich> | ||||||||||||
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> | ||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||
Severity: | Normal | CC: | mjs | ||||||||||||
Priority: | P2 | ||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||
Hardware: | Mac | ||||||||||||||
OS: | OS X 10.5 | ||||||||||||||
Bug Depends on: | |||||||||||||||
Bug Blocks: | 18624 | ||||||||||||||
Attachments: |
|
Description
Cameron Zwarich (cpst)
2008-04-19 23:16:11 PDT
Created attachment 20714 [details]
Proposed patch for variable declarations
Here is a patch that adds support for variable declarations but not function declarations.
Comment on attachment 20714 [details]
Proposed patch for variable declarations
r=me
Created attachment 20716 [details]
Revised proposed patch
Made a minor change as per Maciej's suggestion on IRC. Strangely enough, this is a 1.5% performance progression on SunSpider.
Comment on attachment 20716 [details]
Revised proposed patch
r=me
Created attachment 20718 [details]
Revised proposed patch
It turns out that the cause of the speedup was a GC bug in string-tagcloud, where the EvalCodeBlocks were not getting marked. Here is a patch that fixes the GC bug by treating EvalCodeBlocks like ProgramCodeBlocks. This time there is no difference on SunSpider.
Comment on attachment 20718 [details]
Revised proposed patch
r=me
This bug isn't quite fixed yet. The patch to support variable declarations landed in r32290, but there are still function declarations to support. I'll hopefully upload a patch soon. Created attachment 20761 [details]
Proposed patch implementing function declarations in eval code
This patch implements function declarations in eval code. In the process, it fixes 12 JavaScriptCore test failures.
Should declaredVariables and declaredFunctions be declaredVariableIdentifiers and declaredFunctionIdentifiers?
Created attachment 20762 [details]
Revised proposed patch
Here is the same patch with a slight change in naming to make things more clear. SunSpider reports a 0.5% performance progression from ToT, which is mostly concentrated on the math tests.
Comment on attachment 20762 [details]
Revised proposed patch
r=me
|