index(0x0) means no index register instead of index(0x4) in mips_64.ad

Thu, 11 Aug 2016 15:21:41 +0800

author
fujie
date
Thu, 11 Aug 2016 15:21:41 +0800
changeset 61
17f070949775
parent 60
c9917fbd0a31
child 62
49532d00528d

index(0x0) means no index register instead of index(0x4) in mips_64.ad

src/cpu/mips/vm/mips_64.ad file | annotate | diff | comparison | revisions
     1.1 --- a/src/cpu/mips/vm/mips_64.ad	Thu Aug 11 09:27:28 2016 +0800
     1.2 +++ b/src/cpu/mips/vm/mips_64.ad	Thu Aug 11 15:21:41 2016 +0800
     1.3 @@ -4027,34 +4027,6 @@
     1.4    %}
     1.5  %}
     1.6  
     1.7 -/*
     1.8 -2012/8/15 Jin: indOffset32X will cause a very large offseet(more than 16-bit).
     1.9 -
    1.10 -MIPS:
    1.11 -   lui t5, 0x3218            ;   {oop('java/lang/System')}
    1.12 -   addiu t5, t5, 0x1ac8
    1.13 -   lw t5, 0x15c(t5)
    1.14 -
    1.15 -X86:
    1.16 -   move 0x15c, ebx            ;   {oop('java/lang/System')}
    1.17 -   move 0x3c247320(ebx), ebx
    1.18 -*/
    1.19 -/*
    1.20 -// Indirect Memory Plus Long Offset Operand
    1.21 -operand indOffset32X(mRegI reg, immP off) %{
    1.22 -  match(AddP off reg);
    1.23 -
    1.24 -  format %{ "indOffset32X [$reg + $off]" %}
    1.25 -  interface(MEMORY_INTER) %{
    1.26 -    base($reg);
    1.27 -//    index(0x4);
    1.28 -    index(0x0);
    1.29 -    scale(0x0);
    1.30 -    disp($off);
    1.31 -  %}
    1.32 -%}
    1.33 -*/
    1.34 -
    1.35  // Indirect Memory Plus Index Register 
    1.36  operand indIndex(mRegP addr, mRegL index) %{
    1.37    constraint(ALLOC_IN_RC(p_reg));
    1.38 @@ -4080,7 +4052,7 @@
    1.39    format %{ "[$reg] @ indirectNarrowKlass" %}
    1.40    interface(MEMORY_INTER) %{
    1.41      base($reg);
    1.42 -    index(0x4);
    1.43 +    index(0x0);
    1.44      scale(0x0);
    1.45      disp(0x0);
    1.46    %}
    1.47 @@ -4096,7 +4068,7 @@
    1.48    format %{ "[$reg + $off (8-bit)] @ indOffset8NarrowKlass" %}
    1.49    interface(MEMORY_INTER) %{
    1.50      base($reg);
    1.51 -    index(0x4);
    1.52 +    index(0x0);
    1.53      scale(0x0);
    1.54      disp($off);
    1.55    %}
    1.56 @@ -4112,7 +4084,7 @@
    1.57    format %{ "[$reg + $off (32-bit)] @ indOffset32NarrowKlass" %}
    1.58    interface(MEMORY_INTER) %{
    1.59      base($reg);
    1.60 -    index(0x4);
    1.61 +    index(0x0);
    1.62      scale(0x0);
    1.63      disp($off);
    1.64    %}
    1.65 @@ -4192,7 +4164,7 @@
    1.66    format %{ "[$reg]" %}
    1.67    interface(MEMORY_INTER) %{
    1.68      base($reg);
    1.69 -    index(0x0);	/* FIXME: In X86, index==0 means none indirect register. While In MIPS, we indicates 0 for the same meaning */
    1.70 +    index(0x0);
    1.71      scale(0x0);
    1.72      disp(0x0);
    1.73    %}

mercurial