Benjamin Bouvier
c8f525f310
Bug 1191756: Prevent one OOM in jsop_if; r=jonco
...
Also fixes the test for bug 1193043.
2015-08-11 18:32:16 +02:00
Jon Coppeard
7df8125932
Bug 1191758 - Rework JS::FormatStackDump() to fix OOM handling r=terrence
2015-08-12 10:36:40 +01:00
Heiher
e145117730
Bug 1182936 part 2 - IonMonkey: MIPS32: Move mips macros to mips32. r=nbp
2015-08-12 11:22:01 +02:00
Heiher
54bab6be8c
Bug 1182936 part 1 - IonMonkey: MIPS32: Rename mips to mips32. r=nbp
...
rename: js/src/jit/mips/Architecture-mips.cpp -> js/src/jit/mips32/Architecture-mips32.cpp
rename: js/src/jit/mips/Architecture-mips.h -> js/src/jit/mips32/Architecture-mips32.h
rename: js/src/jit/mips/Assembler-mips.cpp -> js/src/jit/mips32/Assembler-mips32.cpp
rename: js/src/jit/mips/Assembler-mips.h -> js/src/jit/mips32/Assembler-mips32.h
rename: js/src/jit/mips/AtomicOperations-mips.h -> js/src/jit/mips32/AtomicOperations-mips32.h
rename: js/src/jit/mips/Bailouts-mips.cpp -> js/src/jit/mips32/Bailouts-mips32.cpp
rename: js/src/jit/mips/Bailouts-mips.h -> js/src/jit/mips32/Bailouts-mips32.h
rename: js/src/jit/mips/BaselineCompiler-mips.cpp -> js/src/jit/mips32/BaselineCompiler-mips32.cpp
rename: js/src/jit/mips/BaselineCompiler-mips.h -> js/src/jit/mips32/BaselineCompiler-mips32.h
rename: js/src/jit/mips/BaselineIC-mips.cpp -> js/src/jit/mips32/BaselineIC-mips32.cpp
rename: js/src/jit/mips/CodeGenerator-mips.cpp -> js/src/jit/mips32/CodeGenerator-mips32.cpp
rename: js/src/jit/mips/CodeGenerator-mips.h -> js/src/jit/mips32/CodeGenerator-mips32.h
rename: js/src/jit/mips/LIR-mips.h -> js/src/jit/mips32/LIR-mips32.h
rename: js/src/jit/mips/LOpcodes-mips.h -> js/src/jit/mips32/LOpcodes-mips32.h
rename: js/src/jit/mips/Lowering-mips.cpp -> js/src/jit/mips32/Lowering-mips32.cpp
rename: js/src/jit/mips/Lowering-mips.h -> js/src/jit/mips32/Lowering-mips32.h
rename: js/src/jit/mips/MacroAssembler-mips.cpp -> js/src/jit/mips32/MacroAssembler-mips32.cpp
rename: js/src/jit/mips/MacroAssembler-mips.h -> js/src/jit/mips32/MacroAssembler-mips32.h
rename: js/src/jit/mips/MoveEmitter-mips.cpp -> js/src/jit/mips32/MoveEmitter-mips32.cpp
rename: js/src/jit/mips/MoveEmitter-mips.h -> js/src/jit/mips32/MoveEmitter-mips32.h
rename: js/src/jit/mips/SharedICHelpers-mips.h -> js/src/jit/mips32/SharedICHelpers-mips32.h
rename: js/src/jit/mips/SharedICRegisters-mips.h -> js/src/jit/mips32/SharedICRegisters-mips32.h
rename: js/src/jit/mips/Simulator-mips.cpp -> js/src/jit/mips32/Simulator-mips32.cpp
rename: js/src/jit/mips/Simulator-mips.h -> js/src/jit/mips32/Simulator-mips32.h
rename: js/src/jit/mips/Trampoline-mips.cpp -> js/src/jit/mips32/Trampoline-mips32.cpp
rename: js/src/jsapi-tests/testJitMoveEmitterCycles-mips.cpp -> js/src/jsapi-tests/testJitMoveEmitterCycles-mips32.cpp
2015-08-12 11:22:00 +02:00
Benjamin Bouvier
8db432c24f
Bug 1193043: Check for oom in ScalarReplacement.cpp; r=nbp
2015-08-12 10:17:42 +02:00
Terrence Cole
aa538e79e0
Bug 1191543 - Remove AutoNameVector and replace with Rooted; r=jonco
2015-08-10 09:26:29 -07:00
Terrence Cole
2ac7da03fc
Bug 1191529 - Remove JSIdArray and AutoIdArray and replace with Rooted<IdVector>; r=mccr8, r=jonco
...
* * *
imported patch 2_remove_AutoIdArray_gk
2015-08-05 11:02:00 -07:00
Muhsin Ali Steiman
ef5c0c6b32
Bug 1186723 - Make BytecodeEmitter::emitDupAt take a reasonable offset r=arai
2015-08-11 14:12:06 -07:00
Terrence Cole
9c20c4a50f
Bug 1191117 - Remove RootedGeneric and replace with normal Rooted usage; r=jonco
2015-08-04 14:32:27 -07:00
Terrence Cole
9f0bfdc4d0
Bug 1191099 - Replace AutoFunctionVector usage with Rooted; r=jonco
2015-08-04 10:38:24 -07:00
Jan de Mooij
fd84d70d2f
Bug 1185653 - Fix enumerate hook on unboxed objects to skip non-enumerable properties. r=jorendorff
2015-08-11 17:42:56 +02:00
Terrence Cole
ae96ebf942
Bug 1193032 - Part 2: Make unlimited SliceBudget initialization explicit; r=ehoogeveen,r=mccr8
2015-08-11 08:42:24 -07:00
Terrence Cole
528385cf6e
Bug 1193032 - Part 1: Rename GCRuntime::sliceBudget to defaultTimeBudget; r=jonco
2015-08-11 08:42:23 -07:00
Terrence Cole
dfd3ef3c40
Bug 1192306 - Use a function to check if IsShutdownGC rather than open-coding it; r=jonco
2015-08-10 14:16:25 -07:00
Terrence Cole
b055779ccf
Bug 1192304 - Common up the checks when entering GC API; r=jonco
2015-08-10 14:14:09 -07:00
Nick Fitzgerald
3f7c91f188
Bug 1189490 - Follow ups: Move [Traceable]Fifo to js/src/ds. r=terrence
2015-08-10 13:15:00 -04:00
Nick Fitzgerald
58c2215e8b
Bug 1189490 - Part 2: Stop using mozilla::LinkedList for the allocations and tenure promotions logs and use js::TraceableFifo instead. r=terrence
2015-08-10 13:15:00 -04:00
Nick Fitzgerald
b6c85ba835
Bug 1189490 - Part 1: Add a JS::Traceable version of the FIFO queue for use with GC things. r=terrence
2015-08-10 13:15:00 -04:00
Nick Fitzgerald
e496ca9335
Bug 1189490 - Part 0: Add a FIFO queue container type to js/public. r=terrence
2015-08-10 13:15:00 -04:00
Kyle Huey
1ffb03e8dc
Bug 1179909: Refactor stable state handling. r=smaug
...
This is motivated by three separate but related problems:
1. Our concept of recursion depth is broken for things that run from AfterProcessNextEvent observers (e.g. Promises). We decrement the recursionDepth counter before firing observers, so a Promise callback running at the lowest event loop depth has a recursion depth of 0 (whereas a regular nsIRunnable would be 1). This is a problem because it's impossible to distinguish a Promise running after a sync XHR's onreadystatechange handler from a top-level event (since the former runs with depth 2 - 1 = 1, and the latter runs with just 1).
2. The nsIThreadObserver mechanism that is used by a lot of code to run "after" the current event is a poor fit for anything that runs script. First, the order the observers fire in is the order they were added, not anything fixed by spec. Additionally, running script can cause the event loop to spin, which is a big source of pain here (bholley has some nasty bug caused by this).
3. We run Promises from different points in the code for workers and main thread. The latter runs from XPConnect's nsIThreadObserver callbacks, while the former runs from a hardcoded call to run Promises in the worker event loop. What workers do is particularly problematic because it means we can't get the right recursion depth no matter what we do to nsThread.
The solve this, this patch does the following:
1. Consolidate some handling of microtasks and all handling of stable state from appshell and WorkerPrivate into CycleCollectedJSRuntime.
2. Make the recursionDepth counter only available to CycleCollectedJSRuntime (and its consumers) and remove it from the nsIThreadInternal and nsIThreadObserver APIs.
3. Adjust the recursionDepth counter so that microtasks run with the recursionDepth of the task they are associated with.
4. Introduce the concept of metastable state to replace appshell's RunBeforeNextEvent. Metastable state is reached after every microtask or task is completed. This provides the semantics that bent and I want for IndexedDB, where transactions autocommit at the end of a microtask and do not "spill" from one microtask into a subsequent microtask. This differs from appshell's RunBeforeNextEvent in two ways:
a) It fires between microtasks, which was the motivation for starting this.
b) It no longer ensures that we're at the same event loop depth in the native event queue. bent decided we don't care about this.
5. Reorder stable state to happen after microtasks such as Promises, per HTML. Right now we call the regular thread observers, including appshell, before the main thread observer (XPConnect), so stable state tasks happen before microtasks.
2015-08-11 06:10:46 -07:00
Nathan Froyd
79a9252cfe
Bug 1192277 follow-up - delete the macro invocation from js/src/configure.in; r=me
2015-08-11 16:22:33 -04:00
Nathan Froyd
9f527fd802
Bug 1192277 - remove check for LLVM PR 8927; r=glandium
...
The PR was fixed in early 2011. clang 3.3, the oldest version of clang
that we build with, was released in mid-2013. It's safe to say that all
versions of clang now have this fix, and we can delete the check.
2015-08-07 19:35:43 -04:00
Jon Coppeard
8d8140b91e
Bug 1192245 - Fix tests that fail with incremental zeal r=terrence
2015-08-11 12:41:14 +01:00
Jon Coppeard
d5fcbaeb6a
Bug 1191482 - Improve WeakCache sweep code and add assertions r=terence
2015-08-11 12:41:14 +01:00
Shu-yu Guo
54e0656103
Bug 1191177 - Kill staticLevel. (r=efaust)
2015-08-11 03:01:25 -07:00
Shu-yu Guo
b1e4634f36
Bug 1191177 - Kill UpvarCookie. (r=efaust)
2015-08-11 03:01:24 -07:00
Shu-yu Guo
ddee358010
Bug 1179063 - Simplify enclosingStaticScope and rename to innermostStaticScope in BCE. (r=efaust)
2015-08-11 03:01:24 -07:00
Shu-yu Guo
104d3a4d57
Bug 1179063 - Hook up the static scope chain in the Parser and replace SharedContext walking with scope walking. (r=efaust)
2015-08-11 03:01:24 -07:00
Jon Coppeard
2308ab100d
Bug 1189282 - Refactor parser BindData class r=efaust
2015-08-11 09:27:24 +01:00
Jeff Walden
8ef6024e61
Bug 1158399 - Expose the [[DateValue]] field in Date objects only through a ClippedTime class that enforces prior TimeClip-ing on the given value. r=evilpie, r=bz, r=dhylands, r=mt, r=froydnj, r=khuey, r=baku, r=smaug
2015-05-01 19:12:52 -07:00
Ryan VanderMeulen
c92728a9ac
Backed out changesets db4294fb662d and de9ae2ccb73b (bug 1181175) for Android test_compartments.js failures.
...
CLOSED TREE
2015-08-10 15:07:27 -04:00
Terrence Cole
8559ecf665
Bug 1189112 - Part 2: simplify rooting of ScriptsAndCountsVector with PersistentRooted; r=nbp
2015-07-29 14:59:49 -07:00
Terrence Cole
71121fa878
Bug 1189112 - Part 1: Use TraceableVector to simplify tracing of ScriptsAndCountsVector; r=nbp
2015-07-29 14:59:49 -07:00
Terrence Cole
4789f47af0
Bug 1188620 - Use PersistentRooted for asyncActivation roots; r=fitzgen
2015-07-29 10:23:14 -07:00
Nick Fitzgerald
057c51b2fb
Bug 1192456 - Use perfect forwarding for DispatchWrapper rather than explicit move and copy constructors. r=terrence
2015-08-07 17:47:00 -04:00
Morgan Phillips
b44505dae5
Bug 1186724 - Make BytecodeEmitter::emit2 take a uint8_t instead of a jsbtyecode; r=arai
...
We expect the second operand value to be an arbitrary byte. This alleviates the needs for spurious casting.
2015-08-10 09:19:37 -07:00
David Rajchenbach-Teller
ac4bca55ba
Bug 1181175 - Telemetry for finding out how often our process is rescheduled to another CPU. r=jandem, r=bsmedberg
2015-07-29 19:01:05 +02:00
David Rajchenbach-Teller
5584b9c372
Bug 1181175 - Use RDTSC for Performance Monitoring instead of getrusage. r=jandem
2015-07-07 18:45:54 +02:00
Nathan Froyd
00e3d567a4
Bug 967544 - make gServiceInterrupt Atomic; r=Waldo
...
|volatile| doesn't guarantee inter-thread safety. Atomic<> does.
2015-08-07 02:59:19 -04:00
Andrea Marchesini
b72f4855c1
Bug 1188612 - Transferable errors should become NS_DOM_DATA_CLONE_ERR, r=sfink
2015-08-10 16:13:24 +01:00
Brian Hackett
f5e5ee8a00
Bug 1190272 - Improve type checks when storing values into unboxed objects in Ion code, r=jandem.
2015-08-09 18:55:49 -06:00
Brian Hackett
fb076603d8
Bug 1190002 - Don't compile baseline stubs for sets to unboxed arrays when there is no JIT FPU support, r=jandem.
2015-08-09 18:52:08 -06:00
Brian Hackett
593787d2ac
Bug 1189980 - Allow changing the object definition during optimized compilation of Array.push, r=jandem.
2015-08-09 18:48:45 -06:00
Bill McCloskey
30800ce21c
Back out bug 1181908 (again) for suspicion of causing bug 1191465 and other GC crashes.
2015-08-09 08:42:40 -07:00
Phil Ringnalda
f179590dfb
Back out 4 changesets (bug 1189490) for Linux32 Jit2 failures
...
Backed out changeset 1ec4867e4e8c (bug 1189490)
Backed out changeset 8bf626d3a647 (bug 1189490)
Backed out changeset 1a1ad27321de (bug 1189490)
Backed out changeset 858b4f682c5a (bug 1189490)
2015-08-08 23:30:50 -07:00
Nick Fitzgerald
94e59f9764
Bug 1189490 - Follow ups: Move [Traceable]Fifo to js/src/ds; r=terrence
2015-08-08 15:19:52 -07:00
Nick Fitzgerald
23a8217bca
Bug 1189490 - Part 2: Stop using mozilla::LinkedList for the allocations and tenure promotions logs and use js::TraceableFifo instead; r=terrence
2015-08-08 15:19:52 -07:00
Nick Fitzgerald
ba70ccb3da
Bug 1189490 - Part 1: Add a JS::Traceable version of the FIFO queue for use with GC things; r=terrence
2015-08-08 15:19:52 -07:00
Nick Fitzgerald
0c0583c7d7
Bug 1189490 - Part 0: Add a FIFO queue container type to js/public; r=terrence
2015-08-08 15:19:52 -07:00
Jeff Walden
d213612f1e
Bug 1183400 - Fold class nodes by kind. r=shu
2015-07-13 13:09:54 -07:00