src/share/vm/utilities/taskqueue.hpp

changeset 1280
df6caf649ff7
parent 1014
0fbdb4381b99
child 1342
3ee342e25e57
     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*()  {

mercurial