compare(String,String) optimizations don't happen on 64-bit

NEW
Unassigned

Status

Tamarin
Baseline JIT (CodegenLIR)
P3
normal
7 years ago
6 years ago

People

(Reporter: Edwin Smith, Unassigned)

Tracking

unspecified
Q3 12 - Dolores
x86_64
All
Bug Flags:
flashplayer-injection -
flashplayer-qrb +
flashplayer-bug +

Details

(Whiteboard: loose-end, has-patch, PACMAN)

Attachments

(1 attachment)

(Reporter)

Description

7 years ago
This logic uses LIR_calli to detect string,string comparisons involving String.charAt(), but since the helper functions return string pointers, the check should be LIR_callp.  Basically these optimizations are disabled on x64.

  if (lht == STRING_TYPE && rht == STRING_TYPE) {
    if (localGetp(lhsi)->opcode() == LIR_calli) {
      LIns* result = optimizeStringCmpWithStringCall(lhsi, rhsi, icmp, false);
      if (result)
        return result;
    }
    else if (localGetp(rhsi)->opcode() == LIR_calli) {
      LIns* result = optimizeStringCmpWithStringCall(rhsi, lhsi, icmp, true);
      if (result)
        return result;
    }
  }
(Reporter)

Comment 1

7 years ago
I targeted Serrano just to get it through the decision process, but if not Serrano, I recommend Anza -- low hanging fruit, why wait.
Flags: flashplayer-qrb?
Priority: -- → P3
Hardware: All → x86_64
Target Milestone: --- → Q3 11 - Serrano
(Reporter)

Updated

7 years ago
Summary: compare(String,String) optimizations dont' happen on 64-bit → compare(String,String) optimizations don't happen on 64-bit

Updated

7 years ago
Target Milestone: Q3 11 - Serrano → Q4 11 - Anza

Updated

7 years ago
Flags: flashplayer-qrb?
Flags: flashplayer-qrb+
Flags: flashplayer-injection-
Flags: flashplayer-bug+

Updated

6 years ago
Assignee: nobody → edwsmith
Target Milestone: Q4 11 - Anza → Q2 12 - Cyril

Updated

6 years ago
Target Milestone: Q2 12 - Cyril → Q1 12 - Brannan

Updated

6 years ago
Whiteboard: loose-end
(Reporter)

Updated

6 years ago
Assignee: edwsmith → nobody
Target Milestone: Q1 12 - Brannan → Q3 12 - Dolores
(Reporter)

Comment 2

6 years ago
Created attachment 607695 [details] [diff] [review]
WIP, needs testing
(Reporter)

Updated

6 years ago
Whiteboard: loose-end → loose-end, has-patch
(Reporter)

Updated

6 years ago
Whiteboard: loose-end, has-patch → loose-end, has-patch, PACMAN
You need to log in before you can comment on or make changes to this bug.