The intent here was to count nursery cell allocations since it's sent to the
profiler for comparison with tenured cell allocations. However it currently
counts slots and element allocations in the nursery too.
Differential Revision: https://phabricator.services.mozilla.com/D176441
We currently have two probes for object allocation because there's another one
in allocateCell(). This one is unnecessary.
Differential Revision: https://phabricator.services.mozilla.com/D176440
I'm not sure how much difference this makes but it seems sensible to keep
everything in the same cache line where possible.
Differential Revision: https://phabricator.services.mozilla.com/D176439
This adds flags to the zone for whether individual GC thing kinds can be
allocated in the nursery for that zone, which are used to replace more complex
checks that happened on allocation.
Differential Revision: https://phabricator.services.mozilla.com/D176438
This is a very minor optimisation so that we only read from a single location
when upating an allocaiton site rather than two. The allocation count being
zero implies that the site is not already on the list of active sites.
Differential Revision: https://phabricator.services.mozilla.com/D176436
Most of the work needed for this was done in the previous patch of the stack,
but there were a few things we needed to do:
- actually have styling for the expand arrow in reps.css (in the console we're
(getting the "global" rule for styling arrows)
- not display the expand arrow _before_ the expression label for custom formatter
with body. The custom formatter handles fetching and displaying body by itself,
and we shouldn't leak that to the parent ObjectInspector
A test is added to ensure that this works as expected.
We might need a follow up for updating the expression panel style as "wide"
custom formatter might get hidden at certain sizes which isn't great
Differential Revision: https://phabricator.services.mozilla.com/D175847
With the current implementation, we were always passing a null `front` property
for the ObjectInspector root for a given expression.
The front is needed in CustomFormatter so the the body can be retrieved.
Doing this revealed an issue in ObjectInspector `rootsChanged` action, where we
were releasing actors while they might still be needed.
We now only release actors that are not in the new roots.
This was not visible before because we were only dealing with a grip before,
and we'd create a new ObjectActor whenever we needed to fetch the properties
from it.
Differential Revision: https://phabricator.services.mozilla.com/D175846
This fixes a race condition where the task had been given work to do but the
counter was not updated until the task ran.
Differential Revision: https://phabricator.services.mozilla.com/D176335
Line should return the current line when the start of the line is queried.
Otherwise, VoiceOver reports the previous line if you're on the first character of a line and you move by line with down or up arrow.
LegacyTextMarker behaves inconsistently when you use Line/LeftLine depending on whether you fetched the marker via index or from a selection range.
browser_text_basics.js treated the index behaviour as correct, but it isn't.
The tests have been updated accordingly with expected failures for non-cached.
Differential Revision: https://phabricator.services.mozilla.com/D176608
CachedTextMarker uses TextLeafPoint.
Because caret and selection events currently use HyperText offsets, we construct text markers using a HyperTextAccessible.
The constructor detects that it was provided with a HyperText and converts to a TextLeafPoint appropriately.
However, this was previously conditional on the provided offset being less than the character count.
When the caret is at the insertion point at the end of a text box, the caret offset will be the character count itself.
This meant that we didn't convert to TextLeafPoint in this case, resulting in an incorrect text marker.
This was causing VoiceOver to report the first character, word, etc. when cursoring through text boxes instead of the last.
Differential Revision: https://phabricator.services.mozilla.com/D176522
First, the setup in js/src/old-configure.in was actually doing nothing
for js, since there weren't corresponding AC_SUBST/AC_SUBST_LIST.
As mentioned in the commit message for bug 1274334, libmozglue contains
operator new/operator delete overrides, so this didn't cause much harm,
especially because js has limited use of plain operator new.
Second, we take on the occasion to move the definitions to python
configure. To match when the STL wrapping was enabled, we move it to
toolkit/moz.configure, which is included by all Gecko-based projects,
but explicitly not by standalone js (preserving its previous behavior,
which is actually desirable for standalone js), and not by other
projects such as tools/crashreporter/injects.
Differential Revision: https://phabricator.services.mozilla.com/D175980
As of bug 1684110, we avoid using the generic names for Windows API
functions, and either define UNICODE or use the explicit variants ending
in ~A or ~W.
That didn't end up applying to js because it wasn't using STL wrapping so far.
As we're about to enable STL wrapping, we can either define UNICODE or
use ~A or ~W variants, but we choose the latter because some uses
involve more work to switch to the ~W variants. At least, it's not
explicit that the ~A variants are used in places.
Differential Revision: https://phabricator.services.mozilla.com/D175996
Some tests dynamically add elements to the DOM.
Since accessibility updates occur in refresh driver ticks, the Accessible often wasn't created yet when WebDriver requested it, causing intermittent WPT failures.
See the code comments for an explanation of how this works.
Differential Revision: https://phabricator.services.mozilla.com/D175972