src/cpu/sparc/vm/vtableStubs_sparc.cpp

changeset 1077
660978a2a31a
parent 1058
9adddb8c0fc8
child 1144
1d037ecd7960
     1.1 --- a/src/cpu/sparc/vm/vtableStubs_sparc.cpp	Wed Mar 11 14:16:13 2009 -0700
     1.2 +++ b/src/cpu/sparc/vm/vtableStubs_sparc.cpp	Thu Mar 12 10:37:46 2009 -0700
     1.3 @@ -221,13 +221,15 @@
     1.4      if (is_vtable_stub) {
     1.5        // ld;ld;ld,jmp,nop
     1.6        const int basic = 5*BytesPerInstWord +
     1.7 -                        // shift;add for load_klass
     1.8 -                        (UseCompressedOops ? 2*BytesPerInstWord : 0);
     1.9 +                        // shift;add for load_klass (only shift with zero heap based)
    1.10 +                        (UseCompressedOops ?
    1.11 +                         ((Universe::narrow_oop_base() == NULL) ? BytesPerInstWord : 2*BytesPerInstWord) : 0);
    1.12        return basic + slop;
    1.13      } else {
    1.14        const int basic = (28 LP64_ONLY(+ 6)) * BytesPerInstWord +
    1.15 -                        // shift;add for load_klass
    1.16 -                        (UseCompressedOops ? 2*BytesPerInstWord : 0);
    1.17 +                        // shift;add for load_klass (only shift with zero heap based)
    1.18 +                        (UseCompressedOops ?
    1.19 +                         ((Universe::narrow_oop_base() == NULL) ? BytesPerInstWord : 2*BytesPerInstWord) : 0);
    1.20        return (basic + slop);
    1.21      }
    1.22    }

mercurial