Commit Graph

56320 Commits

Author SHA1 Message Date
Eric Faust
8c5b1eddc8 Bug 1287340 - Part 3: Properly forward new.target in bound function subclassing. (r=till) 2016-08-22 09:56:37 -07:00
Eric Faust
442bd1050b Bug 1287340 - Part 2: Improve new.target jit performance. (r=h4writer) 2016-08-22 09:56:35 -07:00
Eric Faust
538b483b3c Bug 1287340 - Part 1: Implement constructContentFunction for self-hosted code. (r=till) 2016-08-22 09:56:33 -07:00
Nick Fitzgerald
5dc6200d46 Bug 1295741 - jslock.h is dead, long live jsnspr.h; r=terrence
This commit makes the following changes:

* Removed unnecessary includes of jslock.h from files that are using
  js/src/thread/* primitives now.

* Removed includes of prcvar.h, prlock.h, and prthread.h in jslock.h.

* Renamed jslock.h to jsnspr.h since its only remaining utility is to either
  wrap the few NSPR headers we still use, or alternatively include the
  vm/PosixNSPR.h shim instead if JS_POSIX_NSPR is defined.

--HG--
rename : js/src/jslock.h => js/src/jsnspr.h
2016-08-22 10:15:53 -07:00
Nick Fitzgerald
e3a0952fa0 Bug 1295740 - Print the test thread's bit instead of PR_GetCurrentThread() in testThreadingExclusiveData.cpp; r=terrence 2016-08-22 10:15:53 -07:00
Nick Fitzgerald
3db551e975 Bug 1295739 - Make JSRuntime::ownerThread_ a js::Thread::Id instead of void*; r=terrence 2016-08-22 10:15:53 -07:00
Nick Fitzgerald
40f60d4c9e Bug 1295738 - Remove the unused JSAPI function JS_GetCurrentThread; r=terrence 2016-08-22 10:15:53 -07:00
Nick Fitzgerald
012adba4db Bug 1275749 - Part 1: Remove the DEBUG-only js::FutexRuntime::lockHolder_ member, since we already get those checks by using js::Mutex; r=terrence 2016-08-22 10:15:53 -07:00
Nick Fitzgerald
811426746c Bug 1275749 - Part 0: Use js::Mutex and js::ConditionVariable instead of PRLock and PRCondVar in js::FutexRuntime; r=lth 2016-08-22 10:15:53 -07:00
Jon Coppeard
89ae3db372 Bug 1293239 - Fix error when reverting nursery resize heuristic change r=terrence 2016-08-22 17:43:14 +01:00
Kan-Ru Chen
b4cf4bec61 Bug 1264642 - Part 6. Mark JSStructuredCloneData as MOZ_NON_MEMMOVABLE and add specializations in nsTArray.h. r=froydnj
MozReview-Commit-ID: HltgzBnxMsn
2016-08-23 00:40:47 +08:00
Kan-Ru Chen
506dfe6ea3 Bug 1264642 - Part 4. Use BufferList to replace raw buffers in StructuredClone. r=baku r=billm r=jorendorff
In JS StructuredClone BufferList<SystemAllocPolicy> is typedef'd to
JSStructuredCloneData and use everywhere in gecko that stores structured
clone data.

This patch changed some raw pointers to UniquePtr<JSStructuredCloneData>
and some to stack allocated JSStructuredCloneData for better life time
management. Some parameters or methods are deleted because of changing
to the new data structure.

MessagePortMessage now has the exactly same structure with
ClonedMessageData. Maybe in the future they can be consolidated.

MozReview-Commit-ID: 1IY9p5eKLgv
2016-08-23 00:40:46 +08:00
Eddy Bruel
ee92cf5d9d Bug 1294013 - Remove callHook from handleUncaughtException(Helper). r=jimb 2016-08-22 16:03:32 +02:00
Eddy Bruel
6894301270 Bug 1294013 - Factor out reportUncaughtException. r=jimb 2016-08-22 16:01:38 +02:00
Eddy Bruel
1b409bc7be Bug 1294013 - Rename parseResumptionValue to processHandlerResult. r=jimb 2016-08-22 15:54:32 +02:00
Eddy Bruel
7b55a7b52d Bug 1294013 - Replace JSTrapStatus* with JSTrapStatus&. r=jimb 2016-08-22 15:52:28 +02:00
Jon Coppeard
e3e08ba4b2 Bug 1296715 - Fix android bustage r=me 2016-08-22 12:41:06 +01:00
Jon Coppeard
9f4800de7a Bug 1296715 - Add line-based profiling output for major GC r=terrence 2016-08-22 11:14:24 +01:00
Jon Coppeard
956dd02162 Bug 1295991 - Don't give FreeOp a runtime pointer if it's used off the main thread r=sfink 2016-08-22 11:14:24 +01:00
Jon Coppeard
187d91a66e Bug 1296639 - Remove SpiderMonkey's periodic full GC r=sfink 2016-08-22 11:14:24 +01:00
Heiher
b4e4ac2868 Bug 1294606 - Part 3: Add tests for SignExtend. r=nbp
---
 .../jit-test/tests/ion/dce-with-rinstructions.js   | 40 ++++++++++++++++++++++
 1 file changed, 40 insertions(+)
2016-08-21 22:16:11 +08:00
Heiher
7a337d2603 Bug 1294606 - Part 2: Folds Lsh/Rsh same bits to SignExntend. r=nbp
---
 js/src/jit/CodeGenerator.cpp                       | 16 +++++++++
 js/src/jit/CodeGenerator.h                         |  1 +
 js/src/jit/Lowering.cpp                            | 13 ++++++++
 js/src/jit/Lowering.h                              |  1 +
 js/src/jit/MIR.cpp                                 | 27 +++++++++++++++
 js/src/jit/MIR.h                                   | 39 ++++++++++++++++++++++
 js/src/jit/MOpcodes.h                              |  1 +
 js/src/jit/MacroAssembler.h                        |  3 ++
 js/src/jit/Recover.cpp                             | 37 ++++++++++++++++++++
 js/src/jit/Recover.h                               | 12 +++++++
 js/src/jit/arm/MacroAssembler-arm-inl.h            | 12 +++++++
 js/src/jit/arm64/MacroAssembler-arm64-inl.h        | 12 +++++++
 .../mips-shared/MacroAssembler-mips-shared-inl.h   | 12 +++++++
 js/src/jit/shared/LIR-shared.h                     | 16 +++++++++
 js/src/jit/shared/LOpcodes-shared.h                |  1 +
 .../jit/x86-shared/MacroAssembler-x86-shared-inl.h | 12 +++++++
 js/src/vm/Interpreter-inl.h                        | 11 ++++++
 17 files changed, 226 insertions(+)
2016-08-21 22:16:10 +08:00
Heiher
246b59f85c Bug 1294606 - Part 1: Implement LIRGenerator::useByteOpRegisterAtStart. r=nbp
---
 js/src/jit/arm/Lowering-arm.cpp                 | 6 ++++++
 js/src/jit/arm/Lowering-arm.h                   | 1 +
 js/src/jit/arm64/Lowering-arm64.cpp             | 6 ++++++
 js/src/jit/arm64/Lowering-arm64.h               | 1 +
 js/src/jit/mips-shared/Lowering-mips-shared.cpp | 6 ++++++
 js/src/jit/mips-shared/Lowering-mips-shared.h   | 1 +
 js/src/jit/none/Lowering-none.h                 | 1 +
 js/src/jit/x64/Lowering-x64.cpp                 | 6 ++++++
 js/src/jit/x64/Lowering-x64.h                   | 1 +
 js/src/jit/x86/Lowering-x86.cpp                 | 6 ++++++
 js/src/jit/x86/Lowering-x86.h                   | 1 +
 11 files changed, 36 insertions(+)
2016-08-21 22:16:09 +08:00
Sebastian Hengst
55ccc927a5 Backed out changeset 325bdb8f8f80 (bug 1110928) 2016-08-21 12:27:51 +02:00
Andrew McCreight
0e61ad42e5 Bug 1110928, part 3 - Add a method to schedule the system zone for GC. r=terrence
MozReview-Commit-ID: 4L3iQMPWGNe
2016-08-19 15:26:56 -07:00
Bill McCloskey
3a7ee5574b Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-08-19 14:41:26 -07:00
Bill McCloskey
1613c2cbc9 Bug 1279086 - Allow multiple interrupt callbacks (r=dvander) 2016-08-19 14:40:52 -07:00
Luke Wagner
0e064004db Bug 1283924 - Baldr: handle cross-global typed arrays in JS API (r=till)
MozReview-Commit-ID: BzAG4h9o7ua

--HG--
extra : rebase_source : 288bec0533f4601c6bae12c6c09fe0520cc84848
2016-08-19 13:41:52 -05:00
Wes Kocher
3a31be9c17 Backed out 2 changesets (bug 1279086) for failures in browser_menu_item_01.js a=backout
Backed out changeset 00bb53b58e96 (bug 1279086)
Backed out changeset cff59fe2b933 (bug 1279086)
2016-08-19 12:31:55 -07:00
Tooru Fujisawa
5f9bd4abac Bug 1289051 - Add JS_ReportError*Latin1 variants. r=evilpie 2016-08-13 23:03:31 +09:00
Chris Manchester
76d8f148d9 Backed out changeset c0e6aae0b93d (bug 1294803) for breaking artifact builds.
MozReview-Commit-ID: BTrQMCJSCRn
2016-08-19 11:12:07 -07:00
Chris Manchester
65ba8ff0f6 Backed out changeset 7f6047b2bc09 (bug 1294803) for breaking artifact builds.
MozReview-Commit-ID: FdzqUJnaSQT
2016-08-19 11:12:07 -07:00
Terrence Cole
240896825f Bug 1290551 - Part 2: Assert that finishRoots actually unroots everything; r=jonco
--HG--
extra : rebase_source : 322bbaf46bb1dc1b14bef0a939a07702f478c01c
2016-08-05 14:13:35 -07:00
Terrence Cole
3ab082dab8 Bug 1290551 - Part 1: Move finishRoots adjacent to traceRoots; r=jonco
--HG--
extra : rebase_source : d67b41ec9318b36502e0c07c11faf65619c24c6a
2016-08-05 14:13:32 -07:00
Jon Coppeard
509ffe40c1 Bug 1293127 - Fix testcode to handle zeal builds r=me 2016-08-19 18:04:47 +01:00
Bill McCloskey
3799faa926 Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-08-19 09:59:40 -07:00
Bill McCloskey
95c5d71549 Bug 1279086 - Allow multiple interrupt callbacks (r=dvander) 2016-08-19 09:59:39 -07:00
Jon Coppeard
a4026dfbb4 Bug 1293127 - Mark CCW keys that have nursery pointers explicitly rather than using the generic buffer r=terrence 2016-08-19 16:56:25 +01:00
Terrence Cole
73b768f849 Bug 1290550 - Fix markRuntime's interface; r=jonco 2016-07-28 09:42:17 -07:00
Jon Coppeard
35539866a9 Bug 1293239 - Revert nursery resizing heuristics r=terrence 2016-08-19 10:44:01 +01:00
Jon Coppeard
d170af87c1 Bug 1293209 - Don't assert tables are empty if the embedding leaked JS GC things r=terrence 2016-08-19 10:44:01 +01:00
Iris Hsiao
67de9ad6e4 Backed out changeset 3172e3fa6e24 (bug 1294606) 2016-08-19 17:42:14 +08:00
Iris Hsiao
e3f411bb25 Backed out changeset defd76119eda (bug 1294606) 2016-08-19 17:41:57 +08:00
Iris Hsiao
0cadff9393 Backed out changeset 4d05a40172ca (bug 1294606) for Spider Monkey ARM64 bustage 2016-08-19 17:41:45 +08:00
Heiher
d8e57bddcc Bug 1294606 - Part 3: Add tests for SignExtend. r=nbp
---
 .../jit-test/tests/ion/dce-with-rinstructions.js   | 40 ++++++++++++++++++++++
 1 file changed, 40 insertions(+)
2016-08-19 17:07:52 +08:00
Heiher
c8cef5ba11 Bug 1294606 - Part 2: Folds Lsh/Rsh same bits to SignExntend. r=nbp
---
 js/src/jit/CodeGenerator.cpp                       | 16 +++++++++
 js/src/jit/CodeGenerator.h                         |  1 +
 js/src/jit/Lowering.cpp                            | 13 ++++++++
 js/src/jit/Lowering.h                              |  1 +
 js/src/jit/MIR.cpp                                 | 27 +++++++++++++++
 js/src/jit/MIR.h                                   | 39 ++++++++++++++++++++++
 js/src/jit/MOpcodes.h                              |  1 +
 js/src/jit/MacroAssembler.h                        |  3 ++
 js/src/jit/Recover.cpp                             | 37 ++++++++++++++++++++
 js/src/jit/Recover.h                               | 12 +++++++
 js/src/jit/arm/MacroAssembler-arm-inl.h            | 12 +++++++
 js/src/jit/arm64/MacroAssembler-arm64-inl.h        | 12 +++++++
 .../mips-shared/MacroAssembler-mips-shared-inl.h   | 12 +++++++
 js/src/jit/shared/LIR-shared.h                     | 16 +++++++++
 js/src/jit/shared/LOpcodes-shared.h                |  1 +
 .../jit/x86-shared/MacroAssembler-x86-shared-inl.h | 12 +++++++
 js/src/vm/Interpreter-inl.h                        | 11 ++++++
 17 files changed, 226 insertions(+)
2016-08-19 17:07:47 +08:00
Heiher
f5130bf88d Bug 1294606 - Part 1: Implement LIRGenerator::useByteOpRegisterAtStart. r=nbp
---
 js/src/jit/arm/Lowering-arm.cpp                 | 6 ++++++
 js/src/jit/arm/Lowering-arm.h                   | 1 +
 js/src/jit/arm64/Lowering-arm64.cpp             | 6 ++++++
 js/src/jit/arm64/Lowering-arm64.h               | 1 +
 js/src/jit/mips-shared/Lowering-mips-shared.cpp | 6 ++++++
 js/src/jit/mips-shared/Lowering-mips-shared.h   | 1 +
 js/src/jit/none/Lowering-none.h                 | 1 +
 js/src/jit/x64/Lowering-x64.cpp                 | 6 ++++++
 js/src/jit/x64/Lowering-x64.h                   | 1 +
 js/src/jit/x86/Lowering-x86.cpp                 | 6 ++++++
 js/src/jit/x86/Lowering-x86.h                   | 1 +
 11 files changed, 36 insertions(+)
2016-08-19 17:07:39 +08:00
Phil Ringnalda
c953d529f4 Backed out 3 changesets (bug 1290551, bug 1290550) for Windows (at least) Marionette crashes in AssertNoRootsTracer::onChild
CLOSED TREE

Backed out changeset 3ffbd71ee977 (bug 1290551)
Backed out changeset 77bda0e9caba (bug 1290551)
Backed out changeset 3763a23b6353 (bug 1290550)
2016-08-18 19:30:33 -07:00
Nick Fitzgerald
fd249acf72 Bug 1296399 - Make ProfileStringMap values be UniqueChars instead of raw char*. r=shu
There was a lot of manual management of the map's string values. By using
UniqueChars, everything happens automatically and at the right time in
destructors.

--HG--
extra : rebase_source : f4522c4cf5f67163726e0f1f8aca77e512e2fadd
2016-08-18 12:35:00 -04:00
Nick Fitzgerald
94052d5b73 Bug 1296399 - Make the js::SPSProfiler::strings a js::ExclusiveData. r=shu
The js::SPSProfiler::lock_ only existed to protect the js::SPSProfiler::strings
member[0], but it was not clear at all whether it protected all members or
what. Instead, let's wrap the strings member in a js::ExclusiveData so that
the *only* way to access it by taking the lock and so that it is clear what
members need locking.

And of course there were multiple places where the member wasn't getting locked
properly...

[0] See
http://searchfox.org/mozilla-central/diff/0df4a565cc0c7ce54d0f7628a87280a6dca140c4/js/src/vm/SPSProfiler.h#215
for the archaeology bits.

--HG--
extra : rebase_source : b157315e9975529a7553cb236980caa8acd48bf9
2016-08-18 12:35:00 -04:00