Bug 25202 - Improve performance of repeated callbacks into the VM
Summary: Improve performance of repeated callbacks into the VM
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Oliver Hunt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-14 22:04 PDT by Oliver Hunt
Modified: 2009-04-20 20:54 PDT (History)
1 user (show)

See Also:


Attachments
Call caching (24.55 KB, patch)
2009-04-14 22:58 PDT, Oliver Hunt
zwarich: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Hunt 2009-04-14 22:04:45 PDT
Review tracker
Comment 1 Oliver Hunt 2009-04-14 22:58:35 PDT
Created attachment 29490 [details]
Call caching

Implement basic infrastructure for vm reentry caching, use Array.prototype.filter as the test implementation.
Comment 2 Cameron Zwarich (cpst) 2009-04-14 23:21:53 PDT
Comment on attachment 29490 [details]
Call caching

There is extra whitespace on line 186 of Interpreter.h.

You use i++ in a few places where ++i would better match our style.

The CallFrameClosure struct has all of its members public but all of them have the m_ prefix in front of them. It seems to be the style elsewhere in JSC to remove the prefix if the class is actually a pure struct. In this case there are also two methods that operate on the members in nontrivial ways, but there are unlikely to be more. I suggest removing the m_ prefices and leaving the rest as-is. If this is unreasonable or bad, let me know.

> void setArgument(int n, JSValuePtr v)

I think that we could come up with better names for these parameters. I think v could be 'value', something similar for 'n'.

Other than that, r=me.
Comment 3 Cameron Zwarich (cpst) 2009-04-20 20:54:33 PDT
This was landed in r42537.