1.1 --- a/src/share/vm/utilities/taskqueue.hpp Fri Jul 10 16:01:20 2009 -0700 1.2 +++ b/src/share/vm/utilities/taskqueue.hpp Tue Jul 14 15:40:39 2009 -0700 1.3 @@ -560,8 +560,14 @@ 1.4 class StarTask { 1.5 void* _holder; // either union oop* or narrowOop* 1.6 public: 1.7 - StarTask(narrowOop *p) { _holder = (void *)((uintptr_t)p | COMPRESSED_OOP_MASK); } 1.8 - StarTask(oop *p) { _holder = (void*)p; } 1.9 + StarTask(narrowOop* p) { 1.10 + assert(((uintptr_t)p & COMPRESSED_OOP_MASK) == 0, "Information loss!"); 1.11 + _holder = (void *)((uintptr_t)p | COMPRESSED_OOP_MASK); 1.12 + } 1.13 + StarTask(oop* p) { 1.14 + assert(((uintptr_t)p & COMPRESSED_OOP_MASK) == 0, "Information loss!"); 1.15 + _holder = (void*)p; 1.16 + } 1.17 StarTask() { _holder = NULL; } 1.18 operator oop*() { return (oop*)_holder; } 1.19 operator narrowOop*() {