Closed Bug 599273 Opened 14 years ago Closed 14 years ago

JM: 280slides does not work with method jit

Categories

(Core :: JavaScript Engine, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
blocking2.0 --- betaN+

People

(Reporter: micmon, Unassigned)

References

Details

http://280slides.com/Editor/ gets stuck loading at 87% with javascript.options.methodjit.content = true

The following error shows up in the console:
---
Error: _CPRunLoopPerformPool is undefined
<unCork> Source File: http://280slides.com/Editor/1224293852/Frameworks/Objective-J/Objective-J.js
 Line: 1664
---

Works without method jit and works on chrome.
Also reproduceable using Mozilla/5.0 (Windows NT 5.1; rv:2.0b7pre) Gecko/20100920 Firefox/4.0b7pre (Built from http://hg.mozilla.org/tracemonkey/rev/f1b428337950).
OS: Linux → All
Summary: 280slides does not work with method jit → JM: 280slides does not work with method jit
blocking2.0: --- → ?
I can reproduce this. Investigating.
bug 593556 fixes the initial error, but now I get

JavaScript error: http://280slides.com/Editor/1224293852/Frameworks/Objective-J/Objective-J.js, line 1773: _isPerformingSelectors is not defined
Depends on: 593556
--disable-polyic fixes this. disabling BIND, NAME, and GETELEM PICs doesn't. So the bug is probably in GETPROP or SETPROP.
Okay, the bug stops occurring if I disable PICs for JSOP_GETPROP or JSOP_GETLOCALPROP.
Phew. 280slides uses Objective-J which is really hairy to debug. |with|, deep closures, megamorphism, |new Function()|, oh my.

I narrowed this down to bytecode position 72 in this snippet:

00070:  96  this
00071:  96  this
00072:  96  getprop "method_store"
00075:  96  getprop "prototype"
00078:  96  setprop "method_dtable"
00081:  96  pop

shape->isMethod() is true, but we never call methodReadBarrier(). I've filed bug 600424. We'll see where 280slides is after that's fixed.
Depends on: 600424
Okay, 280slides works after those two bugs are fixed.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
blocking2.0: ? → betaN+
You need to log in before you can comment on or make changes to this bug.