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) ^
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) ^
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?
ping
ARM64 was already fixed by http://trac.webkit.org/changeset/167347
ARMv7 Thumb2 was already fixed by https://trac.webkit.org/changeset/167354
It seems ARM Traditional build is still broken because of this bug. Any volunteer from ARM traditional maintainers?
ARM traditional buildfix landed in https://trac.webkit.org/changeset/167565