Bug 25921 - REGRESSION: Using setTimeout.call or setTimeout.apply only works the first time is used
Summary: REGRESSION: Using setTimeout.call or setTimeout.apply only works the first ti...
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P1 Normal
Assignee: Nobody
Keywords: HasReduction, InRadar, Regression
Depends on:
Reported: 2009-05-21 02:12 PDT by Raul Hudea
Modified: 2009-05-21 17:29 PDT (History)
5 users (show)

See Also:

Simple test case (577 bytes, text/html)
2009-05-21 02:13 PDT, Raul Hudea
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raul Hudea 2009-05-21 02:12:30 PDT
I'll add a test case
Comment 1 Raul Hudea 2009-05-21 02:13:58 PDT
Created attachment 30533 [details]
Simple test case
Comment 2 Mark Rowe (bdash) 2009-05-21 03:47:09 PDT
Seems like one of Oliver's recent optimisations may have introduced this.
Comment 3 Mark Rowe (bdash) 2009-05-21 03:47:26 PDT
Comment 4 Mark Rowe (bdash) 2009-05-21 09:14:26 PDT
*** Bug 23670 has been marked as a duplicate of this bug. ***
Comment 5 Cameron Zwarich (cpst) 2009-05-21 14:02:45 PDT
This occurs in the 4.0 beta, so it's not Oliver's recent changes.
Comment 6 Oliver Hunt 2009-05-21 14:10:30 PDT
It also impacts the interpreter -- i think it may be a bug in op_resolve_global, but that doesn't explain why it only seems to effect .call and .apply
Comment 7 Oliver Hunt 2009-05-21 14:26:21 PDT
op_resolve_global is apparently broked.
Comment 8 Oliver Hunt 2009-05-21 15:03:58 PDT
Got it, we're caching a property on the global objects prototype chain as if it were directly on the global object
Comment 9 Oliver Hunt 2009-05-21 17:29:10 PDT
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	JavaScriptCore/ChangeLog
	M	JavaScriptCore/interpreter/Interpreter.cpp
	M	JavaScriptCore/jit/JITStubs.cpp
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/js/global-function-resolve-expected.txt
	A	LayoutTests/fast/js/global-function-resolve.html
	A	LayoutTests/fast/js/resources/global-function-resolve.js
Committed r44016