Ignore:
Timestamp:
Aug 15, 2013, 4:28:55 AM (12 years ago)
Author:
[email protected]
Message:

REGRESSION(r148790) Made 7 tests fail on x86 32bit
https://bugs.webkit.org/show_bug.cgi?id=114913

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

The X87 register was not freed before some calls. Instead
of inserting resetX87Registers to the last call sites,
the two X87 registers are now freed in every call.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:

LayoutTests:

Unskip the five tests now passsing again.

  • platform/qt/TestExpectations:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/offlineasm/x86.rb

    r153221 r154095  
    11501150            $asm.puts "int $3"
    11511151        when "call"
     1152            if useX87
     1153                2.times {
     1154                    | offset |
     1155                    $asm.puts "ffree %st(#{offset})"
     1156                }
     1157            end
    11521158            $asm.puts "call #{operands[0].x86CallOperand(:ptr)}"
    11531159        when "ret"
     
    13371343        when "leap"
    13381344            $asm.puts "lea#{x86Suffix(:ptr)} #{operands[0].x86AddressOperand(:ptr)}, #{operands[1].x86Operand(:ptr)}"
    1339         when "resetX87Stack"
    1340             if useX87
    1341                 2.times {
    1342                     | offset |
    1343                     $asm.puts "ffree %st(#{offset})"
    1344                 }
    1345             end
    13461345        else
    13471346            lowerDefault
Note: See TracChangeset for help on using the changeset viewer.