Bug 129828

Summary: Use OwnPtr in StructureIDTable
Product: WebKit Reporter: Mark Hahnenberg <mhahnenberg>
Component: JavaScriptCoreAssignee: Mark Hahnenberg <mhahnenberg>
Status: RESOLVED FIXED    
Severity: Normal CC: darin
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Mark Hahnenberg 2014-03-06 14:29:07 PST
This reduces the amount of boilerplate, plus fixes a memory leak :-(
Comment 1 Mark Hahnenberg 2014-03-06 14:29:59 PST
<rdar://problem/16246441>
Comment 2 Mark Hahnenberg 2014-03-06 14:30:42 PST
Created attachment 226040 [details]
Patch
Comment 3 Geoffrey Garen 2014-03-06 14:36:47 PST
Comment on attachment 226040 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=226040&action=review

r=me

> Source/JavaScriptCore/runtime/StructureIDTable.cpp:50
>      StructureOrOffset* newTable = new StructureOrOffset[newCapacity];

You should use OwnPtr here.

> Source/JavaScriptCore/runtime/StructureIDTable.cpp:59
> +    StructureOrOffset* oldTable = m_table.leakPtr();

You should use PassOwnPtr here.

Another option is plain old swap.
Comment 4 Mark Hahnenberg 2014-03-07 09:07:58 PST
Committed r165265: <http://trac.webkit.org/changeset/165265>
Comment 5 Mark Hahnenberg 2014-03-07 09:08:16 PST
Comment on attachment 226040 [details]
Patch

Clearing review flag.
Comment 6 Darin Adler 2014-03-08 21:46:43 PST
In new code, please use std::unique_ptr instead of OwnPtr, which we are planning to deprecate and delete.