Mercurial > hg > truffle
diff src/share/vm/c1x/c1x_CodeInstaller.cpp @ 1470:ef7761803480
Fixes to get running again after C1X changes to pointer maps and register configuration.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Tue, 23 Nov 2010 15:45:45 +0100 |
parents | 52bb06250d35 |
children | cd18e3072ea5 |
line wrap: on
line diff
--- a/src/share/vm/c1x/c1x_CodeInstaller.cpp Fri Nov 19 21:16:36 2010 +0100 +++ b/src/share/vm/c1x/c1x_CodeInstaller.cpp Tue Nov 23 15:45:45 2010 +0100 @@ -47,16 +47,16 @@ } static bool is_bit_set(oop bit_map, int i) { - if (i < 64) { + const int MapWordBits = 64; + if (i < MapWordBits) { jlong low = CiBitMap::low(bit_map); - return (low & (1 << i)) != 0; + return (low & (1L << i)) != 0; } else { - const unsigned int MapWordBits = 64; jint extra_idx = (i - MapWordBits) / MapWordBits; arrayOop extra = (arrayOop) CiBitMap::extra(bit_map); assert(extra_idx >= 0 && extra_idx < extra->length(), "unexpected index"); jlong word = ((jlong*) extra->base(T_LONG))[extra_idx]; - return (word & (1 << (i % MapWordBits))) != 0; + return (word & (1L << (i % MapWordBits))) != 0; } } @@ -88,6 +88,7 @@ // hotspot stack slots are 4 bytes VMReg reg = VMRegImpl::stack2reg(i * 2); if (is_oop) { + tty->print_cr("oop is set at %d (%d)", i, i*8); map->set_oop(reg); } else { map->set_value(reg);