| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
| |
r=bbouvier, a=RyanVM"
This reverts commit 9472136272f01b858412f2d9d7854d2daa82496f.
|
|\
| |
| | |
Simplify HeapSlot to make it trivially copyable
|
| |
| |
| |
| | |
This removes the constructors, which were never called since we allocate arrays of HeapSlot with pod_malloc. The destructor is only ever called explicitly since we free this memory with js_free so it has been renamed to destroy(). Also removed is an unused manual barrier.
|
| | |
|
|/
|
|
| |
Silences a warning with GCC 8.
|
|\
| |
| | |
Fix Build Bustage - with "--enable-debug"
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UXP uses the current stack frame address and the stack size
as a sort of heuristic for various things in the JavaScript
engine. The js::GetNativeStackBaseImpl() function is used to
get the base stack address (i.e. the address from which the stack
grows, so this can be either the first or last memory address of
the stack memory space depending on the CPU architecture).
On Linux, this function is implemented using the pthreads APIs.
For non-main threads, the queried thread info is stored in
memory. The main thread does not have this information on hand,
so it gets the stack memory range via the /proc/self/maps file
(see glibc's pthread_get_attr_np.c).
Fortunately (per discussions with the firefox devs in #jsapi)
the base address only needs to be approximate. In reality,
environment variables, args, and other things are stored in
stack space between the end/beginning of the mapped stack
memory and the 'top' of the stack space used by stack frames.
When using glibc, we can get the top of this usable stack from
__libc_stack_end, which is a void* set by glibc during program
initialization, avoiding the need to access /proc.
Non-main threads still get their stack-base through the usual
pthreads APIs.
Other libc implementations like musl will fall back to the
standard UNIX-like implementation which calls pthread's
pthread_attr_getstack() also from the main thread, which
may imply /proc access and not work in restricted
environments.
|
| |
|
|
|
|
| |
parallel tasks r=sfink a=abillings a=RyanVM
|
| |
|
|
|
|
| |
This adds a compatibility function aliased to string.prototype.includes().
|
|
|
|
| |
Roll-up of bugs 1442722, 1455071, 1433642, 1456604 and 1458320.
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
| |
"Intl_getDisplayNames"
Issue #162 and #264
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
This resolves #263.
|
| | |
|
|/ |
|
|
|
|
| |
This time without unrelated/incomplete pluralforms junk.
|
|
|
|
| |
This reverts commit 7686bceecff17f91758c8c6547a78e71ff3a8c38.
|
|
|
|
| |
Note: 3rd party lib support (NSS, etc.) has not been touched.
|
|
|
|
| |
a=RyanVM
|
| |
|
|\
| |
| |
| | |
This is almost everything needed for #162.
|
| |
| |
| |
| | |
type=datetime-local>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- `--enable-official-branding` implies `MC_OFFICIAL` (no need to specifically set it)
- `--enable-official-vendor` can be used to set `MC_OFFICIAL` on builds without `--enable-official-branding` that should still be considered official release versions.
- `MC_OFFICIAL` implies `--enable-release`, meaning `DEVELOPER_OPTIONS` isn't set
- `MC_OFFICIAL` makes `nsXULAppInfo.getIsOfficial` return `true`
- `MC_OFFICIAL` makes `AppConstants.MOZILLA_OFFICIAL` (for compatibility in extensions) and `AppConstants.MC_OFFICIAL` return `true`
- Optional, for the time being: `MOZILLA_OFFICIAL` is still present in some places in case someone wants to build a Mozilla-alike official application and has the rights and necessary keys to use Mozilla-official third-party services. This must always be combined with `MC_OFFICIAL` to have a sane combination of defines. This may be removed in the future.
|
|\ \
| | |
| | | |
Fix Value::isGCThing footgun, stop returning true for NullValue
|
| | | |
|
|/ /
| |
| |
| | |
Prevents GCC 7 build warning spam.
|
|/ |
|
|\
| |
| |
| | |
js_array_values_1
|
| |\ |
|
| | |
| | |
| | |
| | | |
RegExpBuiltinExec per ES2017
|
| | |
| | |
| | |
| | |
| | |
| | | |
ToLength(lastIndex) for non-global RegExp and handle recompilations
[Depends on] Bug 1317397: Implement RegExp.lastIndex changes from ES2017
|
| | |
| | |
| | |
| | | |
Issue #74
|
| | |
| | |
| | |
| | |
| | |
| | | |
iterator close trynote
Issue #74
|
| | |
| | |
| | |
| | |
| | |
| | | |
try statements inside for-of
Issue #74
|
| | |
| | |
| | |
| | | |
Issue #74
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug 1342553 - Part 0.1: Use try-catch for IteratorClose in for-of
Bug 1343072 - Update HasLiveStackValueAtDepth to follow the change in
JSTRY_FOR_OF
Bug 1344753 - Update for-of stack depth in
ControlFlowGenerator::processWhileOrForInLoop
Issue #74
|