Commit Graph

47820 Commits

Author SHA1 Message Date
Tooru Fujisawa
e921b985a7 Bug 1108382 - Part 9: Do not use non-standard flag argument of String.prototype.replace in js/src/. r=jandem 2015-03-01 09:51:33 +09:00
Dan Gohman
39ad64aa23 Bug 867001 - IonMonkey: Infrastructure for aligning JIT'd loops. r=bbouvier 2015-02-27 17:16:12 -08:00
Hannes Verschore
7cc3a872d8 Bug 1135047 - IonMonkey: Use output range when taking range from operands, r=nbp,sunfish 2015-02-28 02:03:48 +01:00
Hannes Verschore
f142d033c0 Bug 1135047 - IonMonkey: Fix range before bailouts of MToInt32, r=nbp,sunfish 2015-02-28 02:03:47 +01:00
Hannes Verschore
a9ee2722a6 Bug 1130679: IonMonkey: Make it possible to guard on type changes/bailouts, r=nbp 2015-02-28 01:51:00 +01:00
Hannes Verschore
52434906a9 Bug 994016: IonMonkey: More agressively improve types at branches, r=jandem 2015-02-28 01:30:47 +01:00
Hannes Verschore
baf85eccf7 Bug 994016: IonMonkey: Improve types at compares with MTypeOf, r=jandem 2015-02-28 01:30:44 +01:00
Hannes Verschore
f5e28900f7 Bug 994016: IonMonkey: Use high level TI API for improving types at branches, r=bhackett 2015-02-28 01:30:42 +01:00
Hannes Verschore
cfd8c3feb7 Bug 994016: TI: add removeSet, r=bhackett 2015-02-28 01:30:40 +01:00
Hannes Verschore
4909efe6ab Bug 994016: IonMonkey: Add MTypeOf folding to MCompare, r=jandem 2015-02-28 01:30:38 +01:00
ProgramFOX
c124dca9db Bug 1136799 - SIMD (interpreter): Fix order of operations of ReciprocalSqrt. r=bbouvier, a=me 2015-02-26 17:22:56 +01:00
Tom Tromey
93d9e60a0d Bug 1130166 - Use SizePrintfMacros.h when printing line numbers. r=Waldo 2015-02-27 08:19:00 -05:00
David Major
67c2070e73 Bug 1137050 - Don't SetThreadContext if the context didn't change. r=luke, a=me 2015-02-26 20:37:00 -05:00
Dan Gohman
cff66f0778 Bug 1137573 - OdinMonkey: Generalize alignment analysis to handle adds with multiple uses r=luke a=ryanvm 2015-02-27 11:02:59 -08:00
Dan Gohman
2d904d061d Bug 1137573 - OdinMonkey: Alignment Mask Analysis r=luke
--HG--
rename : js/src/jit/EffectiveAddressAnalysis.cpp => js/src/jit/AlignmentMaskAnalysis.cpp
rename : js/src/jit/EffectiveAddressAnalysis.h => js/src/jit/AlignmentMaskAnalysis.h
2015-02-26 22:17:51 -08:00
Boris Zbarsky
93d45c4f60 Bug 1136980 part 2. Remove JS_SetParent, even though we have a CLOSED TREE. r=waldo 2015-02-27 11:46:58 -05:00
Boris Zbarsky
b4fd367105 Bug 1136980 part 1. Get rid of JS_SetParent uses in DOM/XPConnect. r=bholley 2015-02-27 11:46:58 -05:00
Boris Zbarsky
99220f0b5e Bug 1137325. Remove the parent() function from xpcshell. r=mrbkap 2015-02-27 11:46:58 -05:00
Jan de Mooij
db18ff3df9 Bug 1137523 - Unprefix most js_* functions. r=bhackett CLOSED TREE 2015-02-27 16:08:15 +01:00
Boris Zbarsky
9a9a31209e Bug 1131803 - Comment fix followup. 2015-02-26 16:33:02 -05:00
Boris Zbarsky
db8c6eb30d Bug 1137334. Remove nsIDOMWindowUtils.getParent. r=bholley. We still have a CLOSED TREE, sadly. 2015-02-26 15:58:59 -05:00
Boris Zbarsky
111d75dbac Bug 1136925 part 4. Stop passing parents to ProxyObject::New. r=waldo 2015-02-26 15:58:59 -05:00
Boris Zbarsky
f027a773ea Bug 1136925 part 3. Stop passing parents to js::NewProxyObject. r=waldo 2015-02-26 15:58:59 -05:00
Boris Zbarsky
0981ef8007 Bug 1136925 part 2. Stop passing a parent to Wrapper::New. r=waldo,bholley 2015-02-26 15:58:59 -05:00
Boris Zbarsky
407a8559b0 Bug 1136925 part 1. Stop passing a parent to JS_CloneObject. r=waldo 2015-02-26 15:58:59 -05:00
Boris Zbarsky
84b402dc8a Bug 1131803. Remove the use of parents from SandboxCallableProxyHandler and SandboxProxyHandler. r=bholley 2015-02-26 15:58:59 -05:00
Wes Kocher
4917048615 Backed out changeset 4ef990c3d69d (bug 1131803) for potentially busting mochitest-e10s-dt on a CLOSED TREE 2015-02-26 23:20:33 -08:00
Wes Kocher
83a7bcab58 Backed out changeset b590778549ab (bug 1131803) 2015-02-26 23:19:57 -08:00
Wes Kocher
f657cd0135 Backed out 4 changesets (bug 1136925) for potentially busting m-e10s-dt on a CLOSED TREE
Backed out changeset 331761aaae22 (bug 1136925)
Backed out changeset 2faa0e91fe23 (bug 1136925)
Backed out changeset a00f2530c911 (bug 1136925)
Backed out changeset d5e658bc0792 (bug 1136925)
2015-02-26 23:17:34 -08:00
Wes Kocher
b6d7cdb29f Backed out changeset 01abd154ac05 (bug 1137334) for potentially busting m-e10s-dt on a CLOSED TREE 2015-02-26 23:17:00 -08:00
Wes Kocher
390b01dc2e Backed out changeset d7d9bbfa72c5 (bug 674779) for m-bc orange on a CLOSED TREE 2015-02-26 17:55:37 -08:00
Eric Faust
1f9ed77bc9 Bug 1066238 - Tests. (r=jorendorff) 2015-02-26 15:05:26 -08:00
Eric Faust
880e2eb983 Bug 1066238 - Part 2: Emitter support for static class methods. (r=jorendorff) 2015-02-26 15:05:24 -08:00
Eric Faust
e79580725f Bug 1066238 - Part 1: Parser support for static class methods. (r=jorendorff) 2015-02-26 15:05:23 -08:00
Shu-yu Guo
6fd7570cc7 Bug 1133196 - Ensure script observability when setting Debugger.Frame.onStep. (r=jandem) 2015-02-26 13:50:18 -08:00
Terrence Cole
b0a16305a8 Bug 1135141 - Do not do background sweeping for zealous GCs to avoid fragmentation; r=jonco
--HG--
extra : rebase_source : 4bdc6c9af1b6a34fb7394e2f8d0c884b114b3fee
2015-02-23 14:25:37 -08:00
Boris Zbarsky
d19843290b Bug 1131803 comment fix followup. DONTBUILD 2015-02-26 16:33:02 -05:00
David Rajchenbach-Teller
8d0fc0855c Bug 674779 - Add per-compartment CPU accounting. r=jandem, r=blassey, r=bz 2015-02-26 11:53:41 +01:00
Brian Hackett
71b7d6b4a5 Bug 1135547 - Fix checks for cases where type sets might be incomplete, r=jandem. 2015-02-26 15:14:59 -06:00
Boris Zbarsky
04443966d0 Bug 1137334. Remove nsIDOMWindowUtils.getParent. r=bholley 2015-02-26 15:58:59 -05:00
Boris Zbarsky
2e0aa3bc72 Bug 1136925 part 4. Stop passing parents to ProxyObject::New. r=waldo 2015-02-26 15:58:59 -05:00
Boris Zbarsky
8552abcc45 Bug 1136925 part 3. Stop passing parents to js::NewProxyObject. r=waldo 2015-02-26 15:58:59 -05:00
Boris Zbarsky
14d7853fb4 Bug 1136925 part 2. Stop passing a parent to Wrapper::New. r=waldo,bholley 2015-02-26 15:58:59 -05:00
Boris Zbarsky
78b6722596 Bug 1136925 part 1. Stop passing a parent to JS_CloneObject. r=waldo 2015-02-26 15:58:59 -05:00
Boris Zbarsky
e84e448ba9 Bug 1131803. Remove the use of parents from SandboxCallableProxyHandler and SandboxProxyHandler. r=bholley 2015-02-26 15:58:59 -05:00
Joel Maher
fa8aaf19d8 Bug 1131110 - Intermittent OSX 10.6 run-by-dir test_bug484459.xul. r=bholley 2015-02-26 15:32:21 -05:00
Ryan VanderMeulen
ee37885f70 Backed out changesets 4eab437d2b51 and f7104b435b47 (bug 1125101) for suspicion of being the cause of a spike in Linux debug mochitest-bc timeouts. 2015-02-26 14:32:46 -05:00
Boris Zbarsky
2fe370bd0d Bug 1133746. Allow DOMProxyShadows to communicate to the JIT whether the shadowing is done by the expando object or not. r=efaust,peterv 2015-02-26 12:30:02 -05:00
Nicolas B. Pierron
92a1e41149 Bug 1112165 - Rename RValueAllocation::Float32 to RValueAllocation::AnyFloat. r=bbouvier 2015-02-26 17:37:38 +01:00
Nicolas B. Pierron
d412a275e2 Bug 1112165 - Recover SimdBox. r=bbouvier 2015-02-26 17:37:36 +01:00
Nicolas B. Pierron
af9750271d Bug 1129313 - Scalar Replacement: Remove PostWriteBarrier at the same time as the stores. r=h4writer 2015-02-26 16:18:41 +01:00
Nicolas B. Pierron
00a22d943d Bug 1112158 - Optimize MSimdUnbox with GVN. r=bbouvier 2015-02-26 16:18:40 +01:00
Brian Hackett
c128e661de Bug 1131285 - Propagate checkTypeSet flag correctly, r=jandem. 2015-02-26 08:54:44 -06:00
Boris Zbarsky
1c91cd544f Bug 1136906 part 3. Remove the parent arg from JS_NewObject. r=waldo 2015-02-26 09:40:08 -05:00
Boris Zbarsky
3ebec14f2b Bug 1136906 part 2. Stop passing a parent to JS_NewObject in xpconnect code. r=bholley 2015-02-26 09:40:08 -05:00
Boris Zbarsky
0cd789c1cc Bug 1136906 part 1. Stop passing parents to JS_NewObject in ctypes code. r=waldo 2015-02-26 09:40:08 -05:00
Boris Zbarsky
c28f0bb5a5 Bug 1136523. Stop doing weird things with parents in ctypes code and remove the JS_DeprecatedNewObjectWithGivenProtoAndParent API. r=waldo 2015-02-26 09:40:08 -05:00
Boris Zbarsky
c727708c03 Bug 1136520. Stop parenting Xray expando objects to a non-global. r=bholley 2015-02-26 09:40:08 -05:00
Boris Zbarsky
24d253d2c0 Bug 1136516. Stop using JS_DeprecatedNewObjectWithGivenProtoAndParent in XPCWrappedNative. r=bholley 2015-02-26 09:40:08 -05:00
Boris Zbarsky
41ea9c03fa Bug 1136345. Drop the parent arg from JS_NewObjectWithGivenProto and introduce a JS_DeprecatedNewObjectWithGivenProtoAndParent for the few cases that still pass in a custom parent. r=waldo 2015-02-26 09:40:08 -05:00
Boris Zbarsky
b405c53159 Bug 1136292 part 5. Stop passing a global as the parent arg to JS_NewObjectWithGivenProto in XPConnect. r=peterv 2015-02-26 09:40:07 -05:00
Jan de Mooij
140634b455 Bug 1136837 part 1 - Don't inline calls with incomplete type information for this or arguments. r=h4writer 2015-02-26 15:33:45 +01:00
Nicolas B. Pierron
43e1b6f12a Bug 1119303 - Use an oolCallVM to allocate SIMD objects when the nursery is full. r=bbouvier 2015-02-26 14:42:25 +01:00
Jon Coppeard
1a4e35f3aa Bug 1125101 - Check budget in incremental compaction r=terrence 2015-02-26 12:35:59 +00:00
Jon Coppeard
9a34f01eb6 Bug 1125101 - Incrementalise compacting GC by zones r=terrence 2015-02-26 12:35:59 +00:00
Jon Coppeard
2b3e9874b8 Bug 1130439 - Trigger compacting GCs after the user becomes inactive r=smaug r=terrence 2015-02-24 09:40:02 +00:00
Brian Hackett
2c936db8ea Bug 1136267 - Handle inlining when folding &&/||/?: operations in Ion, r=sunfish. 2015-02-26 06:34:04 -06:00
Nicolas B. Pierron
72668db2d6 Bug 1112164 part 19 - LSRA should spill aliased registers around call-sites. r=bhackett 2015-02-26 12:18:31 +01:00
Nicolas B. Pierron
240e89e884 Bug 1112164 part 18 - PushRegsInMask: Do not spill SIMD register if there is no support. r=bbouvier 2015-02-26 12:18:30 +01:00
Nicolas B. Pierron
12c6101ee2 Bug 1112164 part 17 - StupidAllocator: Fix issues with SIMD spill and aliased registers. r=mjrosenb 2015-02-26 12:18:30 +01:00
Nicolas B. Pierron
b8f74c4cd2 Bug 1112164 part 16 - Clean-up: Remove FloatRegister::GetSizeInBytes. r=bbouvier 2015-02-26 12:18:29 +01:00
Nicolas B. Pierron
e047218221 Bug 1112164 part 15 - x86/x64: Add register type in the register allocator spew. r=bbouvier 2015-02-26 12:18:28 +01:00
Nicolas B. Pierron
af6d20964f Bug 1112164 part 14 - Add types to x86/x64 float registers. r=bbouvier,jandem 2015-02-26 12:18:28 +01:00
Nicolas B. Pierron
20f025ca75 Bug 1112164 part 13 - HandleRegisterDump operations should support all register type. r=jandem 2015-02-26 12:18:27 +01:00
Nicolas B. Pierron
d2ff3047b1 Bug 1112164 part 12 - Use RegisterDump size for bailout spills. r=jandem 2015-02-26 12:18:27 +01:00
Nicolas B. Pierron
55539e1f86 Bug 1112164 part 11 - Add an union to declare how data can overlap in one register. r=mjrosenb 2015-02-26 12:18:26 +01:00
Nicolas B. Pierron
4be8ea003d Bug 1112164 part 10 - Clean-up: Use SetType for register mask declarations. r=bbouvier 2015-02-26 12:18:25 +01:00
Nicolas B. Pierron
fe5896764c Bug 1112164 part 9 - PushRegsInMask no longer assumes that any FloatRegister is 8 bytes. r=bbouvier 2015-02-26 12:18:25 +01:00
Nicolas B. Pierron
f1d5c27b09 Bug 1112164 part 8 - Use architecture specific SetSize. r=bbouvier 2015-02-26 12:18:24 +01:00
Nicolas B. Pierron
a0664f2653 Bug 1112164 part 7 - Add common architecture functions to query/convert a register type. r=mjrosenb 2015-02-26 12:18:23 +01:00
Nicolas B. Pierron
9e2d6162c1 Bug 1112164 part 6 - RegisterSets: takeAny should take one register and all aliases of it. r=mjrosenb 2015-02-26 12:18:23 +01:00
Nicolas B. Pierron
a95d35da9b Bug 1112164 part 5 - Distinguish between the FloatRegister code and the encoding on x86 & x64. r=jandem 2015-02-26 12:18:22 +01:00
Nicolas B. Pierron
c046a09f6f Bug 1112164 part 4 - SimdReinterpretCast: Do not use redefine as the MIRType of the input & output are different. r=sunfish 2015-02-26 12:18:21 +01:00
Nicolas B. Pierron
739dca4b1b Bug 1112164 part 3 - Add {Float,}Register::Encoding to represent what can be decoded from the assembly. r=jandem 2015-02-26 12:18:21 +01:00
Nicolas B. Pierron
010d155a09 Bug 1112164 part 2 - Rename ReturnSimdReg to ReturnInt32x4Reg and ReturnFloat32x4Reg. r=bbouvier 2015-02-26 12:18:20 +01:00
Nicolas B. Pierron
dc83aba360 Bug 1112164 part 1 - x86/x64 lowerForFPU: Do not reuse the input register if the MIRType are different. r=sunfish 2015-02-26 12:18:19 +01:00
Nicolas B. Pierron
4f61885c86 Bug 1112164 part 0 - PrintUse: Use AnyRegister::name method for printing the name of Fixed register uses. r=bhackett 2015-02-26 12:18:18 +01:00
Nathan Froyd
39fa4f5773 Bug 1122021 - make number_constants internal to js_InitNumberClass; r=jorendorff
ThreadSanitizer reports write-after-write conflicts to number_constants
while initializing JSRuntimes on different threads.  While an argument
could be made that these writes are entirely safe (they are, after all,
writing the same value every time), it seems better to move to a more
obviously not-racy solution.

This patch implements such a solution, by moving number_constants prior
to its only use in js_InitNumberClass, and forcing the initialization of
the "problematic" constants (infinities, NaNs, etc.) to take place the
first time js_InitNumberClass is executed.

In passing, this patch also removes the unused nc_slot enum.
2015-02-25 11:18:28 -05:00
Jarda
a366e47d68 Bug 1127932 - IonMonkey: Inline SIMD.float32x4.add/sub/mul calls; r=bbouvier
--HG--
extra : rebase_source : 6088a2d4d2c575d24884dfc5648db46470102490
2015-02-24 11:42:48 +01:00
Jon Coppeard
d07b4ba1e8 Bug 1136768 - Tidy detection of possibly relocated types r=terrence 2015-02-26 09:04:46 +00:00
Jon Coppeard
8db99543e5 Bug 1136046 - Increase maximum capacity of js::HashMap and HashSet r=luke 2015-02-26 09:02:13 +00:00
Jon Coppeard
4cee6e7d5f Bug 1133759 - Always shrink GC buffers at the end of a shrinking GC, even if we don't compact r=terrence 2015-02-26 09:01:40 +00:00
Nicholas Nethercote
ff13a08e3d Bug 979293 - Add a FrozenAtomSet to clarify how |permanentAtoms| works. r=bhackett.
This clarifies the two phases -- (a) initialization and (b) read-only use
-- that |permanentAtoms| goes through. It also gives some type-based protection
against potential misuse.

--HG--
extra : rebase_source : 23544fa40b44af66b3efbf7b757aed808902ce81
2015-02-25 19:11:28 -08:00
Nicholas Nethercote
5454a067f6 Bug 979293 - Don't write collision bits in HashTable unnecessarily. r=luke.
This avoids no-op writes to the keyHash of entries when doing a no-add-lookup.
This removes a genuine data race in JSRuntime::permanentAtoms, which receives
frequent no-add-lookups from multiple threads after JSRuntime initialization
without any kind of locking.

--HG--
extra : rebase_source : bb0ccf75e674f28e21f0a7209699f68dd7977f04
2015-02-25 10:39:46 -08:00
Eric Faust
f77129f4f8 Bug 1066229 - Follow up: Enable |let| in ecma_6/Class/ in browser JS reftests. (rs=bz) 2015-02-25 20:15:22 -08:00
Eric Faust
39a067b002 Bug 1066229 - Follow up: Push args to callVM in correct, reversed, order. (r=me) on a CLOSED TREE 2015-02-25 18:43:09 -08:00
Eric Faust
f777b0fd04 Backed out changeset f32c20fcbff0 for landing with incorrect bug number on a CLOSED TREE 2015-02-25 18:41:46 -08:00
Eric Faust
0498fe93e6 Bug 106229 - Follow up: Push args to callVM in correct, reversed, order. (r=me) on a CLOSED TREE 2015-02-25 18:33:28 -08:00
Eric Faust
6e21281ec8 Bug 1066229 - Tests. (r=jorendorff) 2015-02-25 17:30:08 -08:00
Eric Faust
4147559ac1 Bug 1066229 - Part 5: Emitter support for basic ES6 ClassStatements. (r=jorendorff) 2015-02-25 17:30:08 -08:00