Граф коммитов

50473 Коммитов

Автор SHA1 Сообщение Дата
Jon Coppeard 9840d4ac3e Bug 1193039 - Fix assertion failure related to ObjectValueMap and OOM r=terrence 2015-08-14 09:19:36 +01:00
Jason Orendorff 48c7866437 Bug 1189744 - Fix crash after GetOwnPropertyDescriptor failed to populate all fields of desc. r=jandem, a=abillings.
--HG--
extra : commitid : 1XeSfw2xvbk
extra : rebase_source : a27640156fe82cde58fa08e6ba5f92c6e452e093
extra : amend_source : 34b7163a9c69488130cafe925e8efda0bb9e85a1
2015-08-04 18:16:08 -05:00
Till Schneidereit fbbf268d1d Bug 1195030 - Backout of bug 890329 for breaking email reading in gmail. r=bustage
--HG--
extra : rebase_source : 7eddefe81f7e920713759c6302363c4caca1f366
2015-08-15 23:58:24 +02:00
Jan de Mooij d05c21f140 Bug 1194627 - Change group when sweeping preliminary objects to avoid leaking their slots. r=bhackett 2015-08-15 19:27:16 +02:00
Phil Ringnalda cbbd80b4ee Back out 6 changesets (bug 1186424) for ASan mochitest-1 leaks
Backed out changeset 4612c09141ae (bug 1186424)
Backed out changeset 94c7d36f29ba (bug 1186424)
Backed out changeset bdeb7135e541 (bug 1186424)
Backed out changeset e41895c02c0b (bug 1186424)
Backed out changeset 65b067184f10 (bug 1186424)
Backed out changeset ddc3a4689c88 (bug 1186424)
2015-08-15 09:21:19 -07:00
Benjamin Bouvier cfc2c061bb Bug 1186424: Move compilation data into ModuleCompileResults and have MV finish module's compilation; r=luke
--HG--
extra : commitid : JH8Br5204Jo
extra : rebase_source : 64e5379eab4a8b6720aa0116a8db7d9a7b425ddc
extra : histedit_source : 4ae76a129b8dc1ae860821c60cd2f4be13682452%2C8514e76c661993a8ad17228f741e4774e06a52d0
2015-08-15 14:41:43 +02:00
Benjamin Bouvier 7716d9ce87 Bug 1186424: Embed AsmFunction into ModuleGlobals::Func; r=luke
--HG--
extra : commitid : 8pziKzT0fgR
extra : rebase_source : 55ccdd955d352364cfc37c69e5df74b1a881c3a5
extra : histedit_source : 6e893df69e7117bdbaa187dbadac37bc22d46535
2015-07-30 15:09:59 +02:00
Benjamin Bouvier fda942b26f Bug 1186424: Take ModuleCompiler out of CheckFunction(); r=luke
--HG--
extra : commitid : LDDPjZHibd3
extra : rebase_source : e32f7a848dd3eefebbd2f72a18761768cf32f0a4
extra : histedit_source : 9aa5b1b0c0f9a3effda6cb1b38d9d07ff43665b8
2015-07-29 14:33:17 +02:00
Benjamin Bouvier d6b41e5c48 Bug 1186424: Make ModuleCompiler standalone; r=luke
--HG--
extra : commitid : KQ8y3ZI6CZT
extra : rebase_source : 4202d823d7c139fa7ba4484823f2688958d2f635
extra : histedit_source : c3d7e2265500c72ddd3918a5c1281503d51a8a6f
2015-07-30 12:58:05 +02:00
Benjamin Bouvier 1a8fde5b33 Bug 1186424: Split ModuleCompiler into ModuleCompiler/ModuleValidator; r=luke
--HG--
extra : commitid : FkZUJqy5yHm
extra : rebase_source : edb2ac16d534e1ecadcfc983dee75b7767f687f5
extra : histedit_source : e678c6456ae3606f51016a7883b207bbaad1ccb8
2015-07-27 16:25:23 +02:00
Benjamin Bouvier d5b73da3ad Bug 1186424: Encode all global value's information directly in the IR; r=luke
--HG--
extra : commitid : FVqLWySOCai
extra : rebase_source : 7a587a6a175157a3d4ec9b4489dd7a3b2f42fb9d
2015-07-27 14:04:47 +02:00
Nick Fitzgerald 34ac6552ef Bug 1187062 - Part 3: Add jsapi-tests for JS::ubi::StackFrame; r=sfink 2015-08-14 17:49:06 -07:00
Nick Fitzgerald d93cd5e9a8 Bug 1187062 - Part 2: Implement a concrete JS::ubi::StackFrame class backed by js::SavedFrame; r=sfink 2015-08-14 17:49:06 -07:00
Nick Fitzgerald 9404d4d0bb Bug 1187062 - Part 1: Add the JS::ubi::StackFrame interface; r=sfink 2015-08-14 17:49:06 -07:00
Nick Fitzgerald 0d9aa228d0 Bug 1187062 - Part 0: Make js::Debugger::getObjectAllocationSite return a SavedFrame* rather than a JSObject*; r=sfink 2015-08-14 17:49:06 -07:00
Bill McCloskey ac32aef2fb Bug 1189125 - Allow xpcshell to use GTK (r=karlt) 2015-08-14 15:51:19 -07:00
Jason Orendorff 85d1b318e6 Bug 1172503 - Delete unwarranted optimization to fix "Assertion failure: !!desc.object() == objHasOwn, at js/src/vm/NativeObject.cpp:1990". r=evilpie.
--HG--
extra : commitid : 611itJIS1j4
extra : rebase_source : 2938e8f4cf9be93700c953f719ec53483650385c
extra : amend_source : 052a59fe4da19e39eb4e49fbe841d7f1853204e6
2015-06-10 15:54:38 -05:00
Jason Orendorff 8016bfee38 Bug 1105045 - Outerize the receiver passed to proxy hooks. r=efaust.
--HG--
extra : commitid : G8ZDWGn76fj
extra : rebase_source : 36759c408e28660aa958a1683743d972f2b96986
2015-08-07 10:23:05 -05:00
Jason Orendorff 90259502e7 Bug 1192297 - Rephrase Proxy static methods to make it clearer that the handler->hasPrototype() case is the weird case. r=Waldo.
--HG--
extra : commitid : ESIC2Z4wS6J
extra : rebase_source : 9cde8160d79fe11317ed59b8df86454dcae605cc
2015-08-07 10:00:02 -05:00
Jeff Walden c83b792e35 Bug 1183400 - Common up some is-effectless testing. r=efaust
--HG--
extra : rebase_source : 91939d0c2547e066b2b274def0b207e96339c544
2015-07-18 19:37:09 -07:00
Jeff Walden 3dc348ea95 Bug 1183400 - Remove SyntacticContext completely. r=efaust
--HG--
extra : rebase_source : 357b8385d30e9ad4152092d3946e833d8fb0e6eb
2015-07-13 13:09:55 -07:00
Jeff Walden 628870aaa3 Bug 1183400 - Remove SyntacticContext::Condition, now handled context-sensitively by callers specifically requesting condition-targeted folding. r=efaust
--HG--
extra : rebase_source : e9a0872dc3594660706e599b6f7a640d1aa786d7
2015-07-13 13:09:55 -07:00
Jeff Walden 97edd24dde Bug 1183400 - Remove special |void| handling by making Boolish recognize |void| expressions as falsy, when they're obviously so. r=efaust
--HG--
extra : rebase_source : f2733a60d59218229da9ff2a482d6c7d2d23aca8
2015-07-13 13:09:54 -07:00
Jeff Walden 782d7ad53d Bug 1183400 - Replace callee-based condition-constant folding with caller-specified condition-constant folding. r=efaust
--HG--
extra : rebase_source : fa56f8653a6d0573047ed8a9e8f36b09d5d8153b
2015-07-13 13:09:54 -07:00
Jeff Walden 60b4cb837c Bug 1183400 - Remove SyntacticContext::Delete, now addressed by modifying how delete nodes are folded. r=efaust
--HG--
extra : rebase_source : 65e34a4c142051c17d3e6cf1ae3111b0130a8f46
2015-07-13 13:09:54 -07:00
Jeff Walden 4cb40f5a4e Bug 1183400 - Remove dead fold-by-arity code. r=efaust
--HG--
extra : rebase_source : 0f487272383e92ba620f894f5dff35bc03400d3e
2015-07-13 13:09:54 -07:00
Eric Faust ca651f500c Bug 1188586 - Disable test for temporarily disabled feature on a CLOSED TREE. (r=itwasonlya3liner) 2015-08-13 14:51:16 -07:00
Tom Schuster aa0e6f2652 Bug 1175173 - Don't box primitive this values in {Object, Array}.prototype.toLocaleString. r=till 2015-08-13 23:19:50 +02:00
Eric Faust 3819096319 Bug 1188586 - Temporarily disable recovery of MPow to unblock fuzzers. (rs=jandem) 2015-08-13 14:15:25 -07:00
Tooru Fujisawa 578472e15f Bug 1194022 - Add another exception for a token after yield expression without operand and followed by EOL. r=Waldo 2015-08-13 09:40:05 +09:00
Jeff Walden 226310d894 Bug 1183400 - Fold the last few nodes (including PN_NAME nodes) by kind, not arity. r=efaust
--HG--
extra : rebase_source : b7ed2d0394be1c2e2b6dc6848daeadab7d9d98fb
2015-07-13 13:09:54 -07:00
Jeff Walden 20cb2ce6f6 Bug 1183400 - Fold for-in, for-of, and for(;;) loops by kind, and classify miscellaneous straightforward kinds for folding. r=efaust
--HG--
extra : rebase_source : 2ec79441485176649529606d59aba9401acdb2dc
2015-07-13 13:09:54 -07:00
Jeff Walden 8444e12e88 Bug 1183400 - Constant-fold switch/default by kind, not arity. r=efaust
--HG--
extra : rebase_source : 2edc2a6f480e1efcfe9203f5d8fd37f440d179f3
2015-07-09 20:53:23 -07:00
Jeff Walden ad6c5e5029 Bug 1183400 - Fold while and do-while loops by kind, not arity. r=efaust
--HG--
extra : rebase_source : e4e8a02bab6c8807dd1a010beed0a32c4f063ca7
2015-07-09 20:49:36 -07:00
Jeff Walden b1262dec84 Bug 1183400 - Fold various binary nodes with two non-null halves by kind. r=efaust
--HG--
extra : rebase_source : ea82501a0113347b63d588e20716a2c7803bad52
2015-07-09 20:49:34 -07:00
Jeff Walden cd33171f3c Bug 1183400 - Fold function calls and tagged templates by kind, not arity. r=efaust
--HG--
extra : rebase_source : 7aae480f058266d99bb66896d6a0faf495fe61ed
2015-07-09 20:44:54 -07:00
Jeff Walden 0097c1f9e8 Bug 1183400 - Fold addition by kind. r=efaust
--HG--
extra : rebase_source : d65f7eba3c8ba37b1b50388ee22f7482b85c951d
2015-07-08 13:54:14 -07:00
Jeff Walden ec428cedac Bug 1183400 - Fold element accesses by kind. r=efaust
--HG--
extra : rebase_source : e92867bb75e18162727240cbdcb06f846ddb012f
2015-07-08 13:54:14 -07:00
Jeff Walden 944034dacc Bug 1183400 - Inline FoldBinaryNumeric into its sole caller and simplify code accordingly. r=efaust
--HG--
extra : rebase_source : 320a2867a8bc07af2d27c09647bf9e0820c7edcf
2015-07-27 17:39:45 -07:00
Jan de Mooij dd613a3546 No bug - Fix bug1106719.js jit-test to allow overrecursion on a CLOSED TREE. r=me 2015-08-13 20:14:05 +02:00
Benjamin Bouvier 70ca66b7b5 Bug 1191756: Improve tests to not always exit with status 3 (OOM); r=jonco
--HG--
extra : commitid : 6FsWK0I92Wi
extra : rebase_source : 1db336041d8a3942719f9acda76189b6b5c36361
2015-08-13 17:28:48 +02:00
Heiher 49f14db98f Bug 1194072 - IonMonkey: MIPS32: Add an option to mark JIT pages as non-writable. r=nbp CLOSED TREE
--HG--
extra : histedit_source : f4b8845bd4deea656f32d3d9c58809d8cacf00a4
2015-08-13 08:23:22 -07:00
Jan de Mooij b4cc845156 Bug 1173100 - Cleanup OneUcs4ToUtf8Char a bit. r=Waldo 2015-08-13 15:44:49 +02:00
Jan de Mooij 5c50621141 Bug 1194148 - Self-host Array.prototype.toString. r=till 2015-08-13 15:44:47 +02:00
Hannes Verschore 76ece819d9 Bug 1173869: IonMonkey - Cleanup of some dead code in MBinaryArithInstruction::infer, r=jandem 2015-08-13 12:00:17 +02:00
Hannes Verschore 39e215aef1 Bug 1168756: Add shell flags to enable shared stubs, r=jandem 2015-08-13 12:00:16 +02:00
Brian Hackett 2a5db2f814 Bug 1179242 - Avoid unnecessary moves to dead stack slots, tweak regalloc heuristics for bundles required to be in a specific register, r=sunfish. 2015-08-12 18:20:41 -06:00
Shu-yu Guo 7f315a501d Bug 1193046 - Clear prevUpToDate on younger frames when toggling frame debuggeeness off->on. (r=jimb) 2015-08-12 16:37:07 -07:00
Shu-yu Guo 0e31403032 Bug 1161332 - Don't save the JSContext when saving FrameIter::Data. (r=jimb) 2015-08-12 16:37:07 -07:00
Shu-yu Guo 05a01ff244 Bug 1188334 - Fix this one weird case with creating debug block scopes of 0-variable block scopes that come from deprecated let exprs inside generators. (r=jimb) 2015-08-12 16:37:07 -07:00
Shu-yu Guo 22067a94a8 Bug 1188878 - Ensure RematerializedFrames are cleared from Debugger instances on Ion bailout failure. (r=jandem) 2015-08-12 16:37:07 -07:00
Shu-yu Guo bbd18bfb28 Bug 1191499 - Trace the arguments object in RematerializedFrames. (r=jandem) 2015-08-12 16:37:07 -07:00
David Major 546a607a91 Bug 1193459 review follow-up: Copy the comment from TraceKind.h. DONTBUILD CLOSED TREE 2015-08-12 15:38:10 -04:00
David Major 048b96a697 Backed out changeset d0e096ad1856. DONTBUILD CLOSED TREE 2015-08-12 15:35:12 -04:00
David Major faab46edc3 Bug 1193459 review follow-up: Copy the comment from TraceKind.h. DONTBUILD CLOSED TREE
--HG--
extra : amend_source : 8dfc5ad94bd1784c6be9ac8ae863eedfcbe04e83
2015-08-12 15:31:33 -04:00
David Major 64e642cb39 Bug 1193459: Fix JS_DEPENDENT_TEMPLATE_HINT for clang-cl. r=jimb
--HG--
extra : rebase_source : 47c8c4d88946dfcbd5484b5ea7ebcb66c2c27537
2015-08-12 13:25:40 -04:00
Jim Blandy ec09437edc Bug 1189059: Replace setObjectMetadataCallback with enableObjectMetadataCallback, fix callers. r=fitzgen
--HG--
extra : rebase_source : e510e16c42641082d94024f679ff5fa06374b96f
2015-07-29 13:41:26 -07:00
Steve Singer 455c60a5ea Bug 1192689 - Add in classes to LIR-none. r=nbp 2015-08-11 20:15:00 -04:00
Tooru Fujisawa 439e92a042 Bug 1089045 - Part 3: Add parser test for ES6 class. r=Waldo 2015-08-07 04:20:49 +09:00
Tooru Fujisawa 209ff6adf2 Bug 1089045 - Part 2: Tests for modifiers. r=Waldo 2015-08-07 04:20:40 +09:00
Tooru Fujisawa 1a824ac6cd Bug 1089045 - Part 1: Supply consistent modifiers to TokenStream. r=Waldo 2015-08-07 04:11:59 +09:00
Tooru Fujisawa e28279f545 Bug 1192572 - Add id to each opcode section in SpiderMonkey Bytecode documentation. r=Waldo 2015-08-09 09:17:15 +09:00
Benjamin Bouvier 3a39ae3f5f Bug 1191756: Prevent one OOM in jsop_if; r=jonco
Also fixes the test for bug 1193043.

--HG--
extra : commitid : 7zlrT0yPI2f
extra : rebase_source : 22363ccc2bfda5dd59470dcf6a30f126ae02dd57
2015-08-11 18:32:16 +02:00
Jon Coppeard 94ee08d336 Bug 1191758 - Rework JS::FormatStackDump() to fix OOM handling r=terrence 2015-08-12 10:36:40 +01:00
Heiher 078ef8db22 Bug 1182936 part 2 - IonMonkey: MIPS32: Move mips macros to mips32. r=nbp 2015-08-12 11:22:01 +02:00
Heiher 146726c9d6 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

--HG--
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 eba462e7a3 Bug 1193043: Check for oom in ScalarReplacement.cpp; r=nbp
--HG--
extra : commitid : 1ky0iqaAd2w
extra : rebase_source : 42d49bb7f0c19b6f81f3510ef785f955264b9e72
2015-08-12 10:17:42 +02:00
Terrence Cole 8599c008e3 Bug 1191543 - Remove AutoNameVector and replace with Rooted; r=jonco
--HG--
extra : rebase_source : 930e012ad7a2930e6261559cd58e19a34e342323
2015-08-10 09:26:29 -07:00
Terrence Cole de72ab688b Bug 1191529 - Remove JSIdArray and AutoIdArray and replace with Rooted<IdVector>; r=mccr8, r=jonco
* * *
imported patch 2_remove_AutoIdArray_gk

--HG--
extra : rebase_source : f4492f209248c7ae4b74d7d0345c51fa893167da
2015-08-05 11:02:00 -07:00
Muhsin Ali Steiman 83c418c740 Bug 1186723 - Make BytecodeEmitter::emitDupAt take a reasonable offset r=arai 2015-08-11 14:12:06 -07:00
Terrence Cole 275873aa38 Bug 1191117 - Remove RootedGeneric and replace with normal Rooted usage; r=jonco
--HG--
extra : rebase_source : 68b41d7a31da792aa688896828ddfe4c8c154d85
2015-08-04 14:32:27 -07:00
Terrence Cole 1b577f8a20 Bug 1191099 - Replace AutoFunctionVector usage with Rooted; r=jonco
--HG--
extra : rebase_source : e391f78394c02a50b8dd5c2163c0ab84e5f06733
2015-08-04 10:38:24 -07:00
Jan de Mooij eed2b5bfff Bug 1185653 - Fix enumerate hook on unboxed objects to skip non-enumerable properties. r=jorendorff
--HG--
extra : rebase_source : 4f359cb0b34ee5a92afcb983ec765c92eaa1d162
2015-08-11 17:42:56 +02:00
Terrence Cole 2c05aff66d Bug 1193032 - Part 2: Make unlimited SliceBudget initialization explicit; r=ehoogeveen,r=mccr8 2015-08-11 08:42:24 -07:00
Terrence Cole 9bafba602a Bug 1193032 - Part 1: Rename GCRuntime::sliceBudget to defaultTimeBudget; r=jonco 2015-08-11 08:42:23 -07:00
Terrence Cole a3de3de67e Bug 1192306 - Use a function to check if IsShutdownGC rather than open-coding it; r=jonco
--HG--
extra : rebase_source : 477bdb00d90a0ad8a4333821bb94315422b66c97
2015-08-10 14:16:25 -07:00
Terrence Cole d86a2b0456 Bug 1192304 - Common up the checks when entering GC API; r=jonco
--HG--
extra : rebase_source : 54b0d9cd8add99515ac48369cf6d74ea6dbf36a2
2015-08-10 14:14:09 -07:00
Nick Fitzgerald ffb3e2d6f9 Bug 1189490 - Follow ups: Move [Traceable]Fifo to js/src/ds. r=terrence
--HG--
rename : js/public/Fifo.h => js/src/ds/Fifo.h
rename : js/public/TraceableFifo.h => js/src/ds/TraceableFifo.h
extra : rebase_source : dae18a8a39f01ccf5be826e400132a78272fabc2
2015-08-10 13:15:00 -04:00
Nick Fitzgerald d787703a0d Bug 1189490 - Part 2: Stop using mozilla::LinkedList for the allocations and tenure promotions logs and use js::TraceableFifo instead. r=terrence
--HG--
extra : rebase_source : e458cebb44ecb68fa1cb249f9fd27f60c281cf2f
2015-08-10 13:15:00 -04:00
Nick Fitzgerald d55e458f02 Bug 1189490 - Part 1: Add a JS::Traceable version of the FIFO queue for use with GC things. r=terrence
--HG--
extra : rebase_source : 05bb7cb4db061ee6d16ab4cc8531c59b5f8b69e4
2015-08-10 13:15:00 -04:00
Nick Fitzgerald defc2b92f5 Bug 1189490 - Part 0: Add a FIFO queue container type to js/public. r=terrence
--HG--
extra : rebase_source : c27f3855994090535ace6b6b78ba1c42e25a37dd
2015-08-10 13:15:00 -04:00
Kyle Huey 76e3009ab8 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 9593f411c6 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 d903c2ee7e 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 c6ddd05588 Bug 1192245 - Fix tests that fail with incremental zeal r=terrence 2015-08-11 12:41:14 +01:00
Jon Coppeard 023c437d83 Bug 1191482 - Improve WeakCache sweep code and add assertions r=terence 2015-08-11 12:41:14 +01:00
Shu-yu Guo 7ed7ff522b Bug 1191177 - Kill staticLevel. (r=efaust) 2015-08-11 03:01:25 -07:00
Shu-yu Guo 0d661e6913 Bug 1191177 - Kill UpvarCookie. (r=efaust) 2015-08-11 03:01:24 -07:00
Shu-yu Guo 3845e56a81 Bug 1179063 - Simplify enclosingStaticScope and rename to innermostStaticScope in BCE. (r=efaust) 2015-08-11 03:01:24 -07:00
Shu-yu Guo 6bae267f46 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 617bf6071c Bug 1189282 - Refactor parser BindData class r=efaust 2015-08-11 09:27:24 +01:00
Jeff Walden 1b62a9d07b 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
--HG--
extra : rebase_source : 803fe39f338b6b32cb0fe2be6cf4056bab57283a
2015-05-01 19:12:52 -07:00
Ryan VanderMeulen a7ea8705c1 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 b921a75b71 Bug 1189112 - Part 2: simplify rooting of ScriptsAndCountsVector with PersistentRooted; r=nbp
--HG--
extra : rebase_source : 3f80f8fcdcbee534c53171683d211e0ed5e25add
2015-07-29 14:59:49 -07:00
Terrence Cole 49c3cba496 Bug 1189112 - Part 1: Use TraceableVector to simplify tracing of ScriptsAndCountsVector; r=nbp
--HG--
extra : rebase_source : c75db0b631d1bc60938062042b7edfc1737d600c
2015-07-29 14:59:49 -07:00
Terrence Cole cc3fc648da Bug 1188620 - Use PersistentRooted for asyncActivation roots; r=fitzgen
--HG--
extra : rebase_source : 9b568b6b35b9090efaf1f10ba473cfee2db298ab
2015-07-29 10:23:14 -07:00
Nick Fitzgerald 050a672216 Bug 1192456 - Use perfect forwarding for DispatchWrapper rather than explicit move and copy constructors. r=terrence
--HG--
extra : rebase_source : 68ee85bb409b0328eb935ddba00dc64e4f3efa86
2015-08-07 17:47:00 -04:00
Morgan Phillips 026acb1246 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 4daefcd581 Bug 1181175 - Telemetry for finding out how often our process is rescheduled to another CPU. r=jandem, r=bsmedberg
--HG--
extra : transplant_source : %94Od-%F4U%88U%0C%DA%28%F3%B6%8D%7F%E7%88%1FTH
2015-07-29 19:01:05 +02:00
David Rajchenbach-Teller d326242e8b Bug 1181175 - Use RDTSC for Performance Monitoring instead of getrusage. r=jandem
--HG--
extra : transplant_source : %8D%A9%CC%17Dj9-%81T%B2%0D%E1%EA%BD%05%C7%DCl%CB
2015-07-07 18:45:54 +02:00