Closed Bug 760812 Opened 12 years ago Closed 12 years ago

correct bitflags for objects allocated by size in nsPresArena

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla16

People

(Reporter: froydnj, Assigned: froydnj)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
nsPresArena.h says:

  enum ObjectID {
    nsLineBox_id = nsQueryFrame::NON_FRAME_MARKER,

    // The PresArena implementation uses this bit to distinguish objects
    // allocated by size from objects allocated by type ID (that is, frames
    // using AllocateByFrameID and other objects using AllocateByObjectID).
    // It should not collide with any Object ID (above) or frame ID (in
    // nsQueryFrame.h).  It is not 0x80000000 to avoid the question of
    // whether enumeration constants are signed.
    NON_OBJECT_MARKER = 0x40000000
  };

but the actual implementation of AllocateBySize wrongly uses nsQueryFrame::NON_FRAME_MARKER instead of NON_OBJECT_MARKER.  (nsPresArena.cpp doesn't even use NON_OBJECT_MARKER currently.)  If we were to add more ObjectIDs for better arena allocation statistics, we'd eventually run into problems, though it would take a while.  Let's fix this.
Attachment #629476 - Flags: review?(roc)
https://hg.mozilla.org/integration/mozilla-inbound/rev/4cb9c03a3804
Assignee: nobody → nfroyd
Status: NEW → ASSIGNED
https://hg.mozilla.org/mozilla-central/rev/4cb9c03a3804
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla16
Product: Core → Core Graveyard
Component: Layout: Misc Code → Layout
Product: Core Graveyard → Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: