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.