It treats Assert, is and ok as natives. eslint rule: http://eslint.org/docs/rules/no-native-reassign
MozReview-Commit-ID: JzwQ37Y97jJ
--HG--
extra : rebase_source : aac538173662c5cbd2fb62c557a8f145fdd6b77a
While it doesn't seem like this SpiderMonkey feature will go away soon, replacing it makes tooling easier and is suitable here because the unconditional catch js already used.
MozReview-Commit-ID: 3G3LxrW24HF
--HG--
extra : rebase_source : f8fb7451ed261c3482d0b3dc822086bc7dba05a0
XPTInterfaceDescriptor::num_additional_types can easily fit in 8 bits -- in
practice it doesn't exceed 20, and there's already a check in DoTypeDescriptor
that it doesn't exceed 255. This patch shrinks it and moves that check into
XPT_InterfaceDescriptorAddTypes() so that any overflow would be detected more
reliably.
On 64-bit platforms this reduces sizeof(XPTInterfaceDescriptor) from 40 to 32
and correspondingly reduces "xpti-working-set" by 16 KiB.
The patch also changes XPT_InterfaceDescriptorAddTypes() into a local function,
because it's defined and only used in xpt_struct.cpp.
--HG--
extra : rebase_source : 754a343bd52c3db35b21a4055a94c7235a70a7a2
This patch:
- Removes XPTArena's ability to support arbitrary alignments.
- Hardwires two sub-arenas into XPTArena, one with alignment of 8 and one with
alignment of 1.
- Uses the first sub-arena for most allocations and the second sub-arena for C
string allocations.
These changes reduce "xpti-working-set" by 56 KiB.
The patch also renames all the used of "malloc" in XPT identifiers with
"calloc", to make clearer that the result is always zeroed.
--HG--
extra : rebase_source : 8e6cc42644621a7f3c80593006734e25420c7229
With careful layout we can reduce sizeof(XPTTypeDescriptor) from 4 to 3, which
also reduces sizeof(XPTParamDescriptor) from 6 to 4. This reduces
"xpti-working-set" by 16 KiB.
The union-of-structs also improves readability by making it clearer exactly
which fields are used for which types.
--HG--
extra : rebase_source : 08060096f93c756fda847b90b45df1b1b207e2b5
This requires merging XPT_DoHeaderPrologue() and XPT_DoHeader(), which is
straightforward.
This reduces "xpti-working-set" by 16 KiB on 64-bit platforms.
--HG--
extra : rebase_source : 74510d6aefe8adc20064bee2c729d7a55fe4b58a
Removing it reduces the "xpti-working-set" measurement by 16 KiB (measured on
64-bit).
--HG--
extra : rebase_source : e6d3911f96ee498a8990b702bb8fa499e55ececb
Make about:debugging code less verbose:
- use component factories to avoid having to remove calls to createElement
- use React.DOM helpers
- components only module.export their class
(require('my-component.js').MyComponent -> require('my-component.js'))
MozReview-Commit-ID: CBWLgcPUkMf
--HG--
extra : rebase_source : 8e3184bf82ad1b59d65bf0e94cc2f4662db856bd
XPTTypeDescriptor::argnum2 is unused. Removing it reduces
sizeof(XPTTypeDescriptor) from 6 bytes to 4 bytes, which reduces the
"xpti-working-set" measurement by 80 KiB (measured on 64-bit).
--HG--
extra : rebase_source : e89f83df810d0466b724d8307fb567e2a93a3809
Otherwise we will crash with a java.util.ConcurrentModificationException on iterator.next()
after removing an item using list.remove(item).
MozReview-Commit-ID: KYebSw2zjVk
--HG--
extra : rebase_source : c2d43cfb94742f4c2675ab7ceca0796890646352