41
42 static boolean is_weak_bad(Address value) {
43 return (as_long(value) & ZGlobals.ZAddressWeakBadMask()) != 0;
44 }
45
46 static boolean is_weak_good(Address value) {
47 return !is_weak_bad(value) && !is_null(value);
48 }
49
50 static boolean is_weak_good_or_null(Address value) {
51 return !is_weak_bad(value);
52 }
53
54 static long offset(Address address) {
55 return as_long(address) & ZGlobals.ZAddressOffsetMask;
56 }
57
58 static Address address(long value) {
59 VM vm = VM.getVM();
60 if (vm.getOS().equals("solaris") && vm.getCPU().equals("sparc")) {
61 value |= ZGlobals.ZAddressSpaceStart;
62 }
63
64 return ZOop.to_address(value);
65 }
66
67 static Address good(Address value) {
68 return address(offset(value) | ZGlobals.ZAddressGoodMask());
69 }
70
71 static Address good_or_null(Address value) {
72 return is_null(value) ? value : good(value);
73 }
74 }
|
41
42 static boolean is_weak_bad(Address value) {
43 return (as_long(value) & ZGlobals.ZAddressWeakBadMask()) != 0;
44 }
45
46 static boolean is_weak_good(Address value) {
47 return !is_weak_bad(value) && !is_null(value);
48 }
49
50 static boolean is_weak_good_or_null(Address value) {
51 return !is_weak_bad(value);
52 }
53
54 static long offset(Address address) {
55 return as_long(address) & ZGlobals.ZAddressOffsetMask;
56 }
57
58 static Address address(long value) {
59 VM vm = VM.getVM();
60 if (vm.getOS().equals("solaris") && vm.getCPU().equals("sparc")) {
61 value |= ZGlobals.ZAddressSpaceStart.asLongValue();
62 }
63
64 return ZOop.to_address(value);
65 }
66
67 static Address good(Address value) {
68 return address(offset(value) | ZGlobals.ZAddressGoodMask());
69 }
70
71 static Address good_or_null(Address value) {
72 return is_null(value) ? value : good(value);
73 }
74 }
|