Changeset 154095 in webkit for trunk/Source/JavaScriptCore


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:
Location:
trunk/Source/JavaScriptCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r154075 r154095  
     12013-08-15  Allan Sandfeld Jensen  <[email protected]>
     2
     3        REGRESSION(r148790) Made 7 tests fail on x86 32bit
     4        https://bugs.webkit.org/show_bug.cgi?id=114913
     5
     6        Reviewed by Filip Pizlo.
     7
     8        The X87 register was not freed before some calls. Instead
     9        of inserting resetX87Registers to the last call sites,
     10        the two X87 registers are now freed in every call.
     11
     12        * llint/LowLevelInterpreter32_64.asm:
     13        * llint/LowLevelInterpreter64.asm:
     14        * offlineasm/instructions.rb:
     15        * offlineasm/x86.rb:
     16
    1172013-08-14  Michael Saboff  <[email protected]>
    218
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm

    r153371 r154095  
    103103        call function
    104104    elsif X86
    105         resetX87Stack
    106105        poke arg1, 0
    107106        poke arg2, 1
     
    127126        call function
    128127    elsif X86
    129         resetX87Stack
    130128        poke arg1, 0
    131129        poke arg2, 1
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm

    r153237 r154095  
    8282    leap [PB, PC, 8], PC
    8383    move PB, t3
    84     if X86_64
    85         resetX87Stack
    86     end
    8784end
    8885
  • trunk/Source/JavaScriptCore/offlineasm/instructions.rb

    r148790 r154095  
    255255    [
    256256     "cdqi",
    257      "idivi",
    258      "resetX87Stack"
     257     "idivi"
    259258    ]
    260259
  • 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.