Bug 131726

Summary: Fix the ARM traditional/Thumb2/ARM64 builds after r167336
Product: WebKit Reporter: Csaba Osztrogonác <ossy>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Blocker CC: changseok, fpizlo, llango.u-szeged, oliver, ossy
Priority: P1    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 108645    

Description Csaba Osztrogonác 2014-04-16 02:46:42 PDT
It broke the build on the EFL ARM64 buildbot.

build log:

                 from /home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:27:
/home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:1843:10: note: JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::Jump JSC::MacroAssemblerARM64::branchAdd32(JSC::MacroAssemblerARM64::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::TrustedImm32, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::AbsoluteAddress)
     Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, AbsoluteAddress address)
          ^
/home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:1843:10: note:   no known conversion for argument 2 from ‘JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::Address’ to ‘JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::TrustedImm32’
/home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:1838:10: note: JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::Jump JSC::MacroAssemblerARM64::branchAdd32(JSC::MacroAssemblerARM64::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::TrustedImm32, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, RegisterID dest)
          ^
/home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:1838:10: note:   no known conversion for argument 2 from ‘JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::Address’ to ‘JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::TrustedImm32’
/home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:1833:10: note: JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::Jump JSC::MacroAssemblerARM64::branchAdd32(JSC::MacroAssemblerARM64::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, RegisterID src, RegisterID dest)
          ^
/home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:1833:10: note:   no known conversion for argument 2 from ‘JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::Address’ to ‘JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::RegisterID {aka JSC::ARM64Registers::RegisterID}’
/home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:1818:10: note: JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::Jump JSC::MacroAssemblerARM64::branchAdd32(JSC::MacroAssemblerARM64::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::TrustedImm32, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, RegisterID op1, TrustedImm32 imm, RegisterID dest)
          ^
/home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:1818:10: note:   candidate expects 4 arguments, 3 provided
/home/webkitbuildbot/slaves/efl-ARM64-build/buildslave/efl-linux-arm64-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:1812:10: note: JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::Jump JSC::MacroAssemblerARM64::branchAdd32(JSC::MacroAssemblerARM64::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARM64Assembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, RegisterID op1, RegisterID op2, RegisterID dest)
          ^
Comment 1 Csaba Osztrogonác 2014-04-16 02:52:26 PDT
ARMv7 Thumb2 build is broke too:

                 from /home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:27:
/home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1521:10: note: JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Jump JSC::MacroAssemblerARMv7::branchAdd32(JSC::MacroAssemblerARMv7::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::TrustedImm32, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::AbsoluteAddress)
     Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, AbsoluteAddress dest)
          ^
/home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1521:10: note:   no known conversion for argument 2 from 'JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Address' to 'JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::TrustedImm32'
/home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1516:10: note: JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Jump JSC::MacroAssemblerARMv7::branchAdd32(JSC::MacroAssemblerARMv7::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::TrustedImm32, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, RegisterID dest)
          ^
/home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1516:10: note:   no known conversion for argument 2 from 'JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Address' to 'JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::TrustedImm32'
/home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1511:10: note: JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Jump JSC::MacroAssemblerARMv7::branchAdd32(JSC::MacroAssemblerARMv7::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, RegisterID src, RegisterID dest)
          ^
/home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1511:10: note:   no known conversion for argument 2 from 'JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Address' to 'JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::RegisterID {aka JSC::ARMRegisters::RegisterID}'
/home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1499:10: note: JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Jump JSC::MacroAssemblerARMv7::branchAdd32(JSC::MacroAssemblerARMv7::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::TrustedImm32, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, RegisterID op1, TrustedImm32 imm, RegisterID dest)
          ^
/home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1499:10: note:   candidate expects 4 arguments, 3 provided
/home/webkitbuildbot/slaves/efl-ARMv7-thumb2-official-build/buildslave/efl-linux-armv7-thumb2-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1493:10: note: JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Jump JSC::MacroAssemblerARMv7::branchAdd32(JSC::MacroAssemblerARMv7::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, RegisterID op1, RegisterID op2, RegisterID dest)
          ^


And ARMv7 ARM Traditional build is broken too:

                 from /home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:27:
/home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:758:10: note: JSC::AbstractMacroAssembler<JSC::ARMAssembler>::Jump JSC::MacroAssemblerARM::branchAdd32(JSC::MacroAssemblerARM::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::TrustedImm32, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::AbsoluteAddress)
     Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, AbsoluteAddress dest)
          ^
/home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:758:10: note:   no known conversion for argument 2 from 'JSC::AbstractMacroAssembler<JSC::ARMAssembler>::Address' to 'JSC::AbstractMacroAssembler<JSC::ARMAssembler>::TrustedImm32'
/home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:750:10: note: JSC::AbstractMacroAssembler<JSC::ARMAssembler>::Jump JSC::MacroAssemblerARM::branchAdd32(JSC::MacroAssemblerARM::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::TrustedImm32, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, RegisterID src, TrustedImm32 imm, RegisterID dest)
          ^
/home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:750:10: note:   candidate expects 4 arguments, 3 provided
/home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:742:10: note: JSC::AbstractMacroAssembler<JSC::ARMAssembler>::Jump JSC::MacroAssemblerARM::branchAdd32(JSC::MacroAssemblerARM::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::TrustedImm32, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, RegisterID dest)
          ^
/home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:742:10: note:   no known conversion for argument 2 from 'JSC::AbstractMacroAssembler<JSC::ARMAssembler>::Address' to 'JSC::AbstractMacroAssembler<JSC::ARMAssembler>::TrustedImm32'
/home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:734:10: note: JSC::AbstractMacroAssembler<JSC::ARMAssembler>::Jump JSC::MacroAssemblerARM::branchAdd32(JSC::MacroAssemblerARM::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, RegisterID op1, RegisterID op2, RegisterID dest)
          ^
/home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:734:10: note:   candidate expects 4 arguments, 3 provided
/home/webkitbuildbot/slaves/efl-ARMv7-traditional-official-build/buildslave/efl-linux-armv7-traditional-release/build/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:726:10: note: JSC::AbstractMacroAssembler<JSC::ARMAssembler>::Jump JSC::MacroAssemblerARM::branchAdd32(JSC::MacroAssemblerARM::ResultCondition, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMAssembler>::RegisterID)
     Jump branchAdd32(ResultCondition cond, RegisterID src, RegisterID dest)
          ^
Comment 2 Csaba Osztrogonác 2014-04-16 02:55:55 PDT
I wanted to comment the original bug, but I don't have the magic power to do it.
So Filip, Oliver, could you possible check this build fail your patch caused?
Comment 3 Csaba Osztrogonác 2014-04-19 13:59:13 PDT
ping
Comment 4 Csaba Osztrogonác 2014-04-20 05:38:55 PDT
ARM64 was already fixed by http://trac.webkit.org/changeset/167347
Comment 5 Csaba Osztrogonác 2014-04-20 05:40:08 PDT
ARMv7 Thumb2 was already fixed by https://trac.webkit.org/changeset/167354
Comment 6 Csaba Osztrogonác 2014-04-20 05:41:11 PDT
It seems ARM Traditional build is still broken because of this bug.
Any volunteer from ARM traditional maintainers?
Comment 7 Csaba Osztrogonác 2014-04-20 06:58:18 PDT
ARM traditional buildfix landed in https://trac.webkit.org/changeset/167565