RFR(S): 8155046: Parse::Block construction using undefined behavior
tobias.hartmann at oracle.com
Tue May 31 06:00:55 UTC 2016
thanks for the review!
On 30.05.2016 20:01, Vladimir Kozlov wrote:
> I think it was this way to avoid calling MethodLivenessResult constructor for _live_locals which required parameters until very recent change:
Right, good that this was changed.
> Your changes looks fine.
> On 5/30/16 6:55 AM, Tobias Hartmann wrote:
>> please review the following patch:
>> Parse::init_blocks() initializes _blocks by allocating a chunk of memory and initializing the elements by treating them as blocks and calling Parse::Block::init_node(). This is undefined behavior because the objects are not created with "new". I replaced init_node() with the constructor and use placement new to create the blocks. I also added missing field initializations to the constructor.
>> Tested with JPRT and RBT (running).
More information about the hotspot-compiler-dev