RFR: 8010992: Remove calls to global ::operator new[] and new
Coleen Phillimore
coleen.phillimore at oracle.com
Fri Apr 12 11:00:13 PDT 2013
Hi Yomin,
Do you have a new webrev?
Thanks,
Coleen
On 4/12/2013 1:36 PM, Yumin Qi wrote:
> Thanks, Zhenyu
>
> On 4/12/2013 7:31 AM, Zhengyu Gu wrote:
>>
>> altHashing.cpp
>> - You should NOT use mtTest, it is reserved for NMT testing. You
>> probably can use mtOther here.
>>
> Changed code to use stack objs, so it will no longer exist.
>> allocation.cpp
>> - Can you also add nothrow versions for operator new and operator
>> new[]?
>>
> Yes, will.
>> allocation.inline.hpp
>> #115 and #127 CHeapObj-new -> CHeapObj-new[]
>> or operator new[] just calls operator new to reduce dup code?
>>
> Yes.
>> cardTableModRefBS.cpp
>> #87 and #88, why set_start(NULL) are needed?
>>
> This is default constructor does, here just copy that code. Since we
> did not call constructor by using this MACRO. It is a _ValueObj,
> should not call new, but I think we can use NEW_C_HEAP_OBJ3, which
> will call ctors.
>> carTableRS.cpp
>> #70, why it is commented out? If so, you don't need the dstor
>>
>>
> See reply to David H.
>
>
> Thanks
> Yumin
>> -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