43 #include "memory/iterator.hpp" |
43 #include "memory/iterator.hpp" |
44 #include "memory/resourceArea.hpp" |
44 #include "memory/resourceArea.hpp" |
45 #include "memory/universe.hpp" |
45 #include "memory/universe.hpp" |
46 #include "memory/oopFactory.hpp" |
46 #include "memory/oopFactory.hpp" |
47 #include "oops/array.hpp" |
47 #include "oops/array.hpp" |
|
48 #include "oops/compressedOops.hpp" |
48 #include "oops/constantPool.inline.hpp" |
49 #include "oops/constantPool.inline.hpp" |
49 #include "oops/method.inline.hpp" |
50 #include "oops/method.inline.hpp" |
50 #include "oops/objArrayKlass.hpp" |
51 #include "oops/objArrayKlass.hpp" |
51 #include "oops/objArrayOop.inline.hpp" |
52 #include "oops/objArrayOop.inline.hpp" |
52 #include "oops/oop.inline.hpp" |
53 #include "oops/oop.inline.hpp" |
257 VirtualSpace vs; |
258 VirtualSpace vs; |
258 vs.initialize(rhs, 50 * granularity); |
259 vs.initialize(rhs, 50 * granularity); |
259 |
260 |
260 // Check if constraints are complied |
261 // Check if constraints are complied |
261 if (!( UseCompressedOops && rhs.base() != NULL && |
262 if (!( UseCompressedOops && rhs.base() != NULL && |
262 Universe::narrow_oop_base() != NULL && |
263 CompressedOops::base() != NULL && |
263 Universe::narrow_oop_use_implicit_null_checks() )) { |
264 CompressedOops::use_implicit_null_checks() )) { |
264 tty->print_cr("WB_ReadFromNoaccessArea method is useless:\n " |
265 tty->print_cr("WB_ReadFromNoaccessArea method is useless:\n " |
265 "\tUseCompressedOops is %d\n" |
266 "\tUseCompressedOops is %d\n" |
266 "\trhs.base() is " PTR_FORMAT "\n" |
267 "\trhs.base() is " PTR_FORMAT "\n" |
267 "\tUniverse::narrow_oop_base() is " PTR_FORMAT "\n" |
268 "\tCompressedOops::base() is " PTR_FORMAT "\n" |
268 "\tUniverse::narrow_oop_use_implicit_null_checks() is %d", |
269 "\tCompressedOops::use_implicit_null_checks() is %d", |
269 UseCompressedOops, |
270 UseCompressedOops, |
270 p2i(rhs.base()), |
271 p2i(rhs.base()), |
271 p2i(Universe::narrow_oop_base()), |
272 p2i(CompressedOops::base()), |
272 Universe::narrow_oop_use_implicit_null_checks()); |
273 CompressedOops::use_implicit_null_checks()); |
273 return; |
274 return; |
274 } |
275 } |
275 tty->print_cr("Reading from no access area... "); |
276 tty->print_cr("Reading from no access area... "); |
276 tty->print_cr("*(vs.low_boundary() - rhs.noaccess_prefix() / 2 ) = %c", |
277 tty->print_cr("*(vs.low_boundary() - rhs.noaccess_prefix() / 2 ) = %c", |
277 *(vs.low_boundary() - rhs.noaccess_prefix() / 2 )); |
278 *(vs.low_boundary() - rhs.noaccess_prefix() / 2 )); |