Closed Bug 782358 Opened 13 years ago Closed 12 years ago

Move interpreter argument type checks from the caller to the callee

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: jandem, Assigned: jandem)

Details

(Whiteboard: [js:t])

Attachments

(1 file)

Attached patch WIPSplinter Review
Currently TypeMonitorCall is used at the call site to monitor the types of the callee's |this| and arguments. This can cause problems in two cases: (1) When a native like array.sort calls a scripted function, we always monitor the argument types in InvokeKernel - it would be more efficient to do it in JIT code if the function is hot enough to be compiled. This helps string-tagcloud. (2) When an interpreted function calls another function many times, the callee will be hot before the caller, so it's more efficient to have the callee do the argument type checks (since the JITs can inline them). This helps crypto-md5. The attached WIP patch does this, passes jit-tests and wins 10% on crypto-md5 and 5% on string-tagcloud. It's just a few ms of course, but the difference between us and v8 on SS is less than 10 ms anyway..
Whiteboard: [js:t]
Not worth it with baseline.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: