RFR: 8010992: Remove calls to global ::operator new[] and new
Yumin Qi
yumin.qi at oracle.com
Fri Apr 12 14:07:03 PDT 2013
After take feedback and modify, new webrev
http://cr.openjdk.java.net/~minqi/8010992/webrev1
<http://cr.openjdk.java.net/%7Eminqi/8010992/webrev1>
Thanks
Yumin
On 4/12/2013 10:45 AM, Zhengyu Gu wrote:
> .
>>> 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.
> NEW_C_HEAP_OBJECT_ARRAY macro does invoke ctor ... that is what
> allocation.hpp #618 does.
>
> Thanks,
>
> -Zhengyu
>
>
>>> 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-compiler-dev
mailing list