6826736: CMS: core dump with -XX:+UseCompressedOops

Fix deoptimization code and OopMapSet::all_do() to check for oop = narrow_oop_base.

Reviewed-by: jcoomes, phh, ysr, never
This commit is contained in:
Vladimir Kozlov 2009-07-22 15:48:51 -07:00
parent db41917a7e
commit b0f75657c5
5 changed files with 111 additions and 2 deletions

View file

@ -343,6 +343,7 @@ class Universe: AllStatic {
// For UseCompressedOops
static address* narrow_oop_base_addr() { return &_narrow_oop._base; }
static address narrow_oop_base() { return _narrow_oop._base; }
static bool is_narrow_oop_base(void* addr) { return (narrow_oop_base() == (address)addr); }
static int narrow_oop_shift() { return _narrow_oop._shift; }
static void set_narrow_oop_base(address base) { _narrow_oop._base = base; }
static void set_narrow_oop_shift(int shift) { _narrow_oop._shift = shift; }