Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6531696
Votes 0
Synopsis don't use immediate 16-bits value store to memory on Intel cpus
Category hotspot:compiler2
Reported Against
Release Fixed hs10(b10), 6u2(b01) (Bug ID:2147387) , 7(b10) (Bug ID:2176879)
State 10-Fix Delivered, request for enhancement
Priority: 2-High
Related Bugs
Submit Date 06-MAR-2007
Description
By just adding the next predicate to avoid generation of immediate 16-bits stores
I got +5% jbb2005 on woodcrest:

  // Store Short/Char Immediate
  instruct storeImmI16(memory mem, immI16 src) %{
+   predicate(UseImm16ForStore);
    match(Set mem (StoreC mem src));

    ins_cost(150);
    format %{ "MOV16  $mem,$src" %}
    opcode(0xC7);     /* C7 /0 Same as 32 store immediate with prefix */
    ins_encode( SizePrefix, OpcP, RMopc_Mem(0x00,mem),  Con16( src ));
    ins_pipe( ialu_mem_imm );
  %}


hsdev-3% sh compare ref.jbb.n2 ref.jbb.n2_n16s
============================================================================
ref.jbb.n2
  Benchmark         Samples        Mean     Stdev             Geomean Weight
  specjbb2000            20   120380.43    591.43
  specjbb2005            20    51259.08    741.56
============================================================================
ref.jbb.n2_n16s
  Benchmark         Samples        Mean     Stdev   %Diff    P   Significant
  specjbb2000            20   122106.15    856.48    1.43 0.000          Yes
  specjbb2005            20    54137.34    989.22    5.62 0.000          Yes
============================================================================
Posted Date : 2007-03-06 22:42:15.0
Work Around
N/A
Evaluation
don't use immediate 16-bits value store to memory on Intel cpus
Posted Date : 2007-03-07 00:48:22.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang