6991512: G1 barriers fail with 64bit C1

Fix compare-and-swap intrinsic problem with G1 post-barriers and issue with branch ranges in G1 stubs on sparc

Reviewed-by: never, kvn
This commit is contained in:
Igor Veresov 2010-10-12 23:51:20 -07:00
parent e870866699
commit 28a13e88e7
6 changed files with 23 additions and 8 deletions

View file

@ -825,6 +825,12 @@ class Assembler : public AbstractAssembler {
// test if -4096 <= x <= 4095
static bool is_simm13(int x) { return is_simm(x, 13); }
// test if label is in simm16 range in words (wdisp16).
bool is_in_wdisp16_range(Label& L) {
intptr_t d = intptr_t(pc()) - intptr_t(target(L));
return is_simm(d, 18);
}
enum ASIs { // page 72, v9
ASI_PRIMARY = 0x80,
ASI_PRIMARY_LITTLE = 0x88