RESOLVED FIXED133340
Arrayify neglects to inform the clobberizer that it might fire watchpoints
https://bugs.webkit.org/show_bug.cgi?id=133340
Summary Arrayify neglects to inform the clobberizer that it might fire watchpoints
Filip Pizlo
Reported 2014-05-27 23:23:34 PDT
And the 32-bit LLInt gets array profiles all wrong, which is probably the reason why this only showed up in 32-bit debug, and it also makes testing this in general much harder.
Attachments
the patch (4.17 KB, patch)
2014-05-27 23:24 PDT, Filip Pizlo
mark.lam: review+
Filip Pizlo
Comment 1 2014-05-27 23:24:42 PDT
Created attachment 232172 [details] the patch
Mark Lam
Comment 2 2014-05-28 08:05:18 PDT
Comment on attachment 232172 [details] the patch r=me
Filip Pizlo
Comment 3 2014-05-28 12:01:02 PDT
Csaba Osztrogonác
Comment 4 2014-05-28 12:39:18 PDT
Comment on attachment 232172 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=232172&action=review > Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:1408 > - loadp JSCell::m_structureID[t3], t2 > + loadp t3, t2 It broke the ARM Thumb2 Linux build: [ 4%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o /tmp/ccowkxrW.s: Assembler messages: /tmp/ccowkxrW.s:3508: Error: cannot represent T32_OFFSET_IMM relocation in this object file format make[2]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o] Error 1 And it broke the ARM Traditional Linux build: [ 4%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o /tmp/ccJfKxfJ.s: Assembler messages: /tmp/ccJfKxfJ.s:3449: Error: internal_relocation (type: OFFSET_IMM) not fixed up make[2]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o] Error 1 make[1]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/all] Error 2 Didn't you mean move t3, t2 here as the other part of the patch?
Filip Pizlo
Comment 5 2014-05-28 12:40:04 PDT
(In reply to comment #4) > (From update of attachment 232172 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=232172&action=review > > > Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:1408 > > - loadp JSCell::m_structureID[t3], t2 > > + loadp t3, t2 > > It broke the ARM Thumb2 Linux build: > [ 4%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o > /tmp/ccowkxrW.s: Assembler messages: > /tmp/ccowkxrW.s:3508: Error: cannot represent T32_OFFSET_IMM relocation in this object file format > make[2]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o] Error 1 > > And it broke the ARM Traditional Linux build: > [ 4%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o > /tmp/ccJfKxfJ.s: Assembler messages: > /tmp/ccJfKxfJ.s:3449: Error: internal_relocation (type: OFFSET_IMM) not fixed up > make[2]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o] Error 1 > make[1]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/all] Error 2 > > Didn't you mean move t3, t2 here as the other part of the patch? Yes.
Filip Pizlo
Comment 6 2014-05-28 12:42:34 PDT
(In reply to comment #5) > (In reply to comment #4) > > (From update of attachment 232172 [details] [details]) > > View in context: https://bugs.webkit.org/attachment.cgi?id=232172&action=review > > > > > Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:1408 > > > - loadp JSCell::m_structureID[t3], t2 > > > + loadp t3, t2 > > > > It broke the ARM Thumb2 Linux build: > > [ 4%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o > > /tmp/ccowkxrW.s: Assembler messages: > > /tmp/ccowkxrW.s:3508: Error: cannot represent T32_OFFSET_IMM relocation in this object file format > > make[2]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o] Error 1 > > > > And it broke the ARM Traditional Linux build: > > [ 4%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o > > /tmp/ccJfKxfJ.s: Assembler messages: > > /tmp/ccJfKxfJ.s:3449: Error: internal_relocation (type: OFFSET_IMM) not fixed up > > make[2]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/llint/LowLevelInterpreter.cpp.o] Error 1 > > make[1]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/all] Error 2 > > > > Didn't you mean move t3, t2 here as the other part of the patch? > > Yes. Fixed in http://trac.webkit.org/changeset/169431
Note You need to log in before you can comment on or make changes to this bug.