Avoid constructing arguments object when accessing length and index properties
Created attachment 68837 [details] Patch
Committed r68338: <http://trac.webkit.org/changeset/68338>
http://trac.webkit.org/changeset/68338 might have broken Qt Linux Release
(In reply to comment #2) > Committed r68338: <http://trac.webkit.org/changeset/68338> This change caused a regression in the Interpreter: Bug 46690.
Is this going to be backed out or is a fix in the works?
I build r69847 code using the following macro #define WTF_USE_JSVALUE32 1 #define ENABLE_JIT 1 #define ENABLE_JIT_OPTIMIZE_CALL 0 #define ENABLE_JIT_OPTIMIZE_NATIVE_CALL 0 #define ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS 0 #define ENABLE_JIT_OPTIMIZE_METHOD_CALLS 0 Then I used the program the executing the js code: function foo(){ alert(arguments.length);//the result is 2. } foo(1,2,3,4); when I open www.baidu.com and other urls, the program would be crash. And the OS is windows xp. I had met the same problem in arm platform. I had done the same thing using r67643 code, and found no problems. And I had tried to build r69847 code using the macro #define ENABLE_JIT 1 #define ENABLE_JIT_OPTIMIZE_CALL 0 #define ENABLE_JIT_OPTIMIZE_NATIVE_CALL 0 #define ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS 0 #define ENABLE_JIT_OPTIMIZE_METHOD_CALLS 0 and nothing problem was found. By a way, the file JITPropertyAccess.cpp's function emit_op_put_by_id, a sentence is like that: JITStubCall stubCall(this, direct ? cti_op_put_by_id_direct_generic, cti_op_put_by_id_generic); should't it be the next sentence? JITStubCall stubCall(this, direct ? cti_op_put_by_id_direct_generic : cti_op_put_by_id_generic); please check, thanks.
(In reply to comment #6) > I build r69847 code using the following macro > #define WTF_USE_JSVALUE32 1 JSVALUE32 is no longer a supported configuration on any platform