Changeset 148045 in webkit


Ignore:
Timestamp:
Apr 9, 2013 1:42:19 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

LLInt conditional branch compilation fault on MIPS.
https://bugs.webkit.org/show_bug.cgi?id=114264

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-04-09
Reviewed by Filip Pizlo.

Fix conditional branch compilation in LLInt offlineasm.

  • offlineasm/mips.rb:
Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r148036 r148045  
     12013-04-09  Balazs Kilvady  <kilvadyb@homejinni.com>
     2
     3        LLInt conditional branch compilation fault on MIPS.
     4        https://bugs.webkit.org/show_bug.cgi?id=114264
     5
     6        Reviewed by Filip Pizlo.
     7
     8        Fix conditional branch compilation in LLInt offlineasm.
     9
     10        * offlineasm/mips.rb:
     11
    1122013-04-08  Mark Hahnenberg  <mhahnenberg@apple.com>
    213
  • trunk/Source/JavaScriptCore/offlineasm/mips.rb

    r141641 r148045  
    291291                newList << Instruction.new(node.codeOrigin, comp, [tmp, node.operands[1], node.operands[0]], annotation)
    292292                newList << Instruction.new(node.codeOrigin, "bz", [tmp, MIPS_ZERO_REG, node.operands[2]])
    293             when "btiz", "btpz", "btbz"
    294                 lowerMIPSCondBranch(newList, "bz", node)
    295             when "btinz", "btpnz", "btbnz"
    296                 lowerMIPSCondBranch(newList, "bnz", node)
    297             when "btio", "btpo", "btbo"
    298                 newList << node
    299             when "btis", "btps", "btbs"
    300                 lowerMIPSCondBranch(newList, "bs", node)
     293            when /^bt(i|p|b)/
     294                lowerMIPSCondBranch(newList, "b" + $~.post_match + $1, node)
    301295            else
    302296                newList << node
     
    443437                                           node.opcode,
    444438                                           riscAsRegisters(newList, [], node.operands, "b"))
    445             when "bz", "bnz", "bs", "bo"
     439            when /^(bz|bnz|bs|bo)/
     440                tl = $~.post_match == "" ? "i" : $~.post_match
    446441                newList << Instruction.new(node.codeOrigin,
    447442                                           node.opcode,
    448                                            riscAsRegisters(newList, [], node.operands, "i"))
     443                                           riscAsRegisters(newList, [], node.operands, tl))
    449444            else
    450445                newList << node
     
    862857            $asm.puts "mfc1 #{operands[1].mipsOperand}, #{operands[0].mipsSingleLo}"
    863858            $asm.puts "mfc1 #{operands[2].mipsOperand}, #{operands[0].mipsSingleHi}"
    864         when "bo"
     859        when /^bo/
    865860            $asm.puts "bgt #{operands[0].mipsOperand}, #{operands[1].mipsOperand}, #{operands[2].asmLabel}"
    866         when "bs"
     861        when /^bs/
    867862            $asm.puts "blt #{operands[0].mipsOperand}, #{operands[1].mipsOperand}, #{operands[2].asmLabel}"
    868         when "bz"
     863        when /^bz/
    869864            $asm.puts "beq #{operands[0].mipsOperand}, #{operands[1].mipsOperand}, #{operands[2].asmLabel}"
    870         when "bnz"
     865        when /^bnz/
    871866            $asm.puts "bne #{operands[0].mipsOperand}, #{operands[1].mipsOperand}, #{operands[2].asmLabel}"
    872867        when "leai", "leap"
Note: See TracChangeset for help on using the changeset viewer.