1.1 --- a/src/share/vm/oops/oopsHierarchy.hpp Tue Dec 31 08:58:08 2013 -0500 1.2 +++ b/src/share/vm/oops/oopsHierarchy.hpp Thu May 29 08:58:51 2014 -0400 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -112,9 +112,7 @@ 1.11 1.12 // Assignment 1.13 oop& operator=(const oop& o) { _o = o.obj(); return *this; } 1.14 -#ifndef SOLARIS 1.15 volatile oop& operator=(const oop& o) volatile { _o = o.obj(); return *this; } 1.16 -#endif 1.17 volatile oop& operator=(const volatile oop& o) volatile { _o = o.obj(); return *this; } 1.18 1.19 // Explict user conversions 1.20 @@ -123,11 +121,10 @@ 1.21 operator void* () const volatile { return (void *)obj(); } 1.22 #endif 1.23 operator HeapWord* () const { return (HeapWord*)obj(); } 1.24 - operator oopDesc* () const { return obj(); } 1.25 + operator oopDesc* () const volatile { return obj(); } 1.26 operator intptr_t* () const { return (intptr_t*)obj(); } 1.27 operator PromotedObject* () const { return (PromotedObject*)obj(); } 1.28 operator markOop () const { return markOop(obj()); } 1.29 - 1.30 operator address () const { return (address)obj(); } 1.31 1.32 // from javaCalls.cpp 1.33 @@ -161,11 +158,10 @@ 1.34 oop::operator=(o); \ 1.35 return *this; \ 1.36 } \ 1.37 - NOT_SOLARIS( \ 1.38 volatile type##Oop& operator=(const type##Oop& o) volatile { \ 1.39 (void)const_cast<oop&>(oop::operator=(o)); \ 1.40 return *this; \ 1.41 - }) \ 1.42 + } \ 1.43 volatile type##Oop& operator=(const volatile type##Oop& o) volatile {\ 1.44 (void)const_cast<oop&>(oop::operator=(o)); \ 1.45 return *this; \