RFR: 8010992: Remove calls to global ::operator new[] and new

Zhengyu Gu zhengyu.gu at oracle.com
Fri Apr 12 07:31:20 PDT 2013


Hi Yumin,

Thanks for cleanup. Just a few minor things.


altHashing.cpp
   - You should NOT use mtTest, it is reserved for NMT testing. You 
probably can use mtOther here.

allocation.cpp
   - Can you also add nothrow versions for operator new and operator new[]?

allocation.inline.hpp
   #115 and #127 CHeapObj-new -> CHeapObj-new[]
   or operator new[] just calls operator new to reduce dup code?

cardTableModRefBS.cpp
   #87 and #88, why set_start(NULL) are needed?

carTableRS.cpp
   #70, why it is commented out? If so, you don't need the dstor


-Zhengyu




On 4/12/2013 2:12 AM, Yumin Qi wrote:
> Hi,
>
>   Can I have your inputs for the fix?
>   webrev:
>
>  http://cr.openjdk.java.net/~minqi/8010992/webrev/ 
> <http://cr.openjdk.java.net/%7Eminqi/8010992/webrev/>
>
>   Bug:  8010992: Remove calls to global ::operator new[] and new
> https://jbs.oracle.com/bugs/browse/JDK-8010992
>
> Problem description:  Remove the usage of global operator ::new[] and 
> ::new. In hotspot debug build, disable the usage of global new[] and 
> new.  Hotspot does not throw c++ exceptions, but it cannot prevent 
> third party code to catch such exceptions.  By disabling use of global 
> operator new[] and new, we constrain the exception disposal within 
> hotspot. C++ classes (as same for structs) in hotspot have to either 
> extends from CHeapObj or ResourceObj unless they are stack objects or 
> values which have to be from StackObj or _ValueObj respectively.  Or 
> they have to implement their own operator new[] or new.
>
> Thanks
> Yumin
>
>



More information about the hotspot-runtime-dev mailing list