Commit Graph

1927 Commits

Author SHA1 Message Date
Ting-Yu Chou
fe98b4e219 Bug 1385181 - Avoid excess copying when return from HashTable::lookupForAdd(). r=luke
MozReview-Commit-ID: F95DCc1wvkE

--HG--
extra : rebase_source : 42edaf41d53e9c7646206cc6ea9c9ce976846eb1
2017-08-01 17:00:39 +08:00
Jan de Mooij
5a92797b27 Backed out changeset 000f28217a30 (bug 1384513) for perf regressions.
--HG--
extra : rebase_source : 290b02b2d088e4575bff1f2dd88808a7ebd51250
2017-08-01 10:42:04 +02:00
Wes Kocher
cb83ca733e Backed out changeset e94dceac8090 (bug 1385181) for causing bug 1386011 (CCov build bustage) a=bustage
MozReview-Commit-ID: BK2XP0pcoE8
2017-07-31 22:12:03 -07:00
Ting-Yu Chou
54070eee06 Bug 1385181 - Alter HashTable::lookupForAdd() to remove a redundant copy when return. r=luke
MozReview-Commit-ID: 9XnlC0JXETX
2017-07-28 14:05:40 +08:00
Till Schneidereit
d2099cf317 Bug 1272697 - Part 4: Add JSAPI functions for working with ReadableStream. r=shu,f=baku
This adds a ton of JSAPI functions for creating and querying the state of ReadableStreams, and support for creating ReadableStream instances whose source is supplied by the embedding.

MozReview-Commit-ID: 9uDWOazPaUI
2017-07-29 16:47:30 +02:00
Sebastian Hengst
08625237bc Backed out changeset 2693a863dabd (bug 1272697) 2017-07-28 20:18:21 +02:00
Till Schneidereit
acef1159b4 Bug 1272697 - Part 4: Add JSAPI functions for working with ReadableStream. r=shu
This adds a ton of JSAPI functions for creating and querying the state of ReadableStreams, and support for creating ReadableStream instances whose source is supplied by the embedding.

MozReview-Commit-ID: 9uDWOazPaUI
2017-07-28 17:48:14 +02:00
Jon Coppeard
3075bc5440 Bug 1384885 - Do gray unmarking of cross zone edges as soon as they are found r=sfink 2017-07-28 11:06:40 +01:00
Jan de Mooij
ea5d324e74 Backed out changeset 1455629cb663 (bug 1384042) for regressing AngularJS perf.
--HG--
extra : rebase_source : e165fd16182dcf5a72133f7afb86069a60bfbec9
2017-07-27 16:36:57 +02:00
Jan de Mooij
082b9c8aed Bug 1384042 - Don't Ion-inline functions when the call has an empty type barrier. r=bhackett 2017-07-26 16:03:12 +02:00
Till Schneidereit
128de681e1 Bug 1384513 - Change all public APIs to take JS::AutoRequireNoGC instead of JS::AutoCheckCannotGC. r=jonco
Additionally, change the base class of AutoSuppressGCAnalysis from AutoAssertNoAlloc to AutoAssertNoGC.

In combination, these chances enable passing either JS::AutoCheckCannotGC or JS::AutoSuppressGCAnalysis, depending on whether suppressing the GC analysis is desired or not.

MozReview-Commit-ID: Eg1cl28ezeJ
2017-07-26 14:38:29 +02:00
Kris Maglione
8683b183cd Bug 1382645: Part 1 - Add memory reporter for StructuredCloneHolder binding implementation. r=billm
MozReview-Commit-ID: aK3ljfCJVi

--HG--
extra : rebase_source : d788c6c686cc72b423ca100795a379d343c398db
2017-07-25 14:53:41 -07:00
Brian Hackett
4d36acb0f4 Bug 1349924 - Backed out changeset 7aa7d265948a due to regression. 2017-07-25 13:57:57 -06:00
Jan de Mooij
7e5724db61 Bug 1383775 - Clean up function toString/toSource code, remove remnants of source decompiler. r=anba 2017-07-25 13:22:11 +02:00
Jon Coppeard
27b31261f4 Bug 1374797 - Fix logic around triggering atoms GCs r=sfink 2017-07-25 11:28:41 +01:00
Paul Bone
70b304d94b Bug 1380768 (part 2) - Add a pref for nursery size, r=sfink. 2017-07-21 14:34:46 +10:00
Paul Bone
07ea7264d8 Bug 1380768 (part 1) - Update comments to reflect API changes and a changed, r=sfink. 2017-07-21 15:56:11 +10:00
Brian Hackett
5914f8b520 Bug 1349924 - Try to specialize property loads to specific function objects, r=jandem.
--HG--
extra : rebase_source : 1bc1d41304bdc5083e4546995c0e7d4fcd52f977
2017-07-24 14:01:49 -06:00
Ehsan Akhgari
b940c3d6e8 Bug 1382339 - Improve SpiderMonkey hashing functions by using MFBT's HashGeneric more; r=jandem 2017-07-20 12:59:09 -04:00
Ehsan Akhgari
33114ba370 Bug 1382324 - Improve SpiderMonkey's pointer hashing function for pointers to neighboring memory locations; r=jandem
This is very similar to the fix to bug 1379282 for the XPCOM hashtables.
2017-07-20 12:23:07 -04:00
Nicolas B. Pierron
a1f0784e66 Bug 1364908 - IonMonkey: Add LoadElementFromSate to support argument[x] in inlined functions. r=jandem 2017-07-18 12:08:22 +00:00
Sebastian Hengst
517126d509 Backed out changeset b6be7c2be50e (bug 1364908) 2017-07-17 19:43:39 +02:00
Nicolas B. Pierron
48a17c9e49 Bug 1364908 - IonMonkey: Add LoadElementFromSate to support argument[x] in inlined functions. r=jandem 2017-07-17 17:04:12 +00:00
Jon Coppeard
29c8ebe8bc Bug 1380778 - Fixup shape pointers into the nursery using a dedicated list r=sfink 2017-07-17 10:54:12 +01:00
Jon Coppeard
86b6f119b2 Bug 1381058 - Split full store buffer reasons into a separate reason for each store buffer r=sfink 2017-07-17 10:54:12 +01:00
Jon Coppeard
39c119de26 Bug 1379957 - Only fire the debugger's onGarbageCollection hook when necessary to avoid extra worker GCs r=fitzgen 2017-07-12 18:31:56 +01:00
Jon Coppeard
f761d9a064 Bug 1380030 - Remove color constants from public API and replace with an internal MarkColor enum r=sfink 2017-07-12 18:31:55 +01:00
Jon Coppeard
f32b5076be Bug 1380030 - Refactor isMarked() methods into separate methods for each color and any r=sfink 2017-07-12 18:31:55 +01:00
Philip Chimento
3faca05ad5 Bug 1379538 - Unresolved symbols when linking program to standalone SpiderMonkey. r=fitzgen
Some symbols that need to be public are not marked as such.
2017-07-11 10:59:00 -04:00
Philip Chimento
260bdd7088 Bug 1334338 - Mark character encoding functions as public API. r=fitzgen 2017-07-10 22:56:04 -07:00
Jan de Mooij
5c5ead5942 Bug 1379461 - Refactor code to return RegExpShared* directly instead of using bool + outparam. r=evilpie,sfink 2017-07-11 11:31:12 +02:00
Jon Coppeard
3b4db1432d Bug 1377466 - Rename PokeGC and add a reason code for GCs triggered by this r=sfink 2017-07-11 17:17:17 +01:00
Jon Coppeard
73aaca8f5b Bug 1378717 - Allow inlining of TraceEdge API's null check r=sfink 2017-07-11 16:51:37 +01:00
Carsten "Tomcat" Book
93c690a082 Backed out changeset 3a0a2ffe803b (bug 1379461) for hazard failure 2017-07-11 12:59:09 +02:00
Jan de Mooij
669d53bfea Bug 1379461 - Refactor code to return RegExpShared* directly instead of using bool + outparam. r=evilpie 2017-07-11 11:31:12 +02:00
Jon Coppeard
eb6ab2cb17 Bug 1367795 - Add barriers to JS::WeakCache for GCHashMap r=sfink 2017-07-10 18:28:07 +01:00
Jon Coppeard
7f6cdb57e8 Bug 1367795 - Add barriers to JS::WeakCache for GCHashSet r=sfink 2017-07-10 18:27:43 +01:00
Jon Coppeard
af750debd2 Bug 1367795 - Specialise JS::WeakCache for GCHashMap so we can add barriers r=sfink 2017-07-10 18:25:57 +01:00
Jon Coppeard
d59d472223 Bug 1367795 - Specialise JS::WeakCache for GCHashSet so we can add barriers r=sfink 2017-07-10 18:25:40 +01:00
Jan de Mooij
db3fda15b3 Bug 1378740 - Share RegExpShareds across compartments within a zone. r=jonco 2017-07-06 16:40:39 +02:00
Boris Zbarsky
4e52e48eb1 Bug 1377055. Assert that JSCLASS_SKIP_NURSERY_FINALIZE is not used on proxies. r=jonco 2017-06-30 17:31:41 -07:00
Carsten "Tomcat" Book
daa67cc9e3 merge mozilla-inbound to mozilla-central a=merge 2017-06-30 12:59:45 +02:00
Jan de Mooij
dc45e8e90e Bug 1377238 - Free finished IonBuilders off-thread. r=jonco 2017-06-29 14:43:55 -07:00
Jan de Mooij
53de04c6f6 Bug 1375505 part 1 - Change iterator code to return JSObject* instead of returning bool + outparam. r=evilpie 2017-06-28 21:00:43 -07:00
David Teller
c1cb83c9ea Bug 1377008 - Teach GCPolicy about Maybe;r=jonco
MozReview-Commit-ID: CdfNBojdx3K

--HG--
extra : rebase_source : 1db545ca96345ed9b82c986b70cad794a6d764c2
2017-06-28 17:45:21 -07:00
Jan de Mooij
e3abce18d2 Bug 627220 part 2 - Finalize external strings in the background. r=sfink 2017-06-26 10:24:08 -07:00
Jan de Mooij
17f7476bee Bug 627220 part 1 - Remove unused Zone* argument from external string finalizers. r=sfink 2017-06-26 10:23:50 -07:00
Kris Maglione
02d405ec1f Bug 1373579: Part 1 - Initialize all members when using an inherited constructor. r=billm
MozReview-Commit-ID: Dr4Zm2OJclo

--HG--
extra : rebase_source : e514665262135cec08afd19cbf602078ac2a201e
2017-06-19 16:48:03 -07:00
Jon Coppeard
a76430d89e Bug 1373214 - Change Zone::isGCMarking() to avoid a TLS lookup r=sfink 2017-06-16 10:25:41 +01:00
Jon Coppeard
995284e0a4 Bug 1372569 - Skip sweeping empty weak caches r=sfink 2017-06-16 10:06:28 +01:00
Jon Coppeard
52665ac9e7 Bug 1372875 - Add more assertions for hash table pointer generation and mutation count r=luke 2017-06-16 10:05:55 +01:00
Jan de Mooij
cb47875d1b Bug 1368325 - Remove JSContext::allowGCBarriers and related code as it's not used anywhere. r=billm 2017-06-16 10:40:57 +02:00
Jon Coppeard
f3ac40becf Bug 1372524 - Add missing explicit keywords r=me 2017-06-14 10:52:18 +01:00
Jon Coppeard
63069bd57e Bug 1372524 - Refactor WeakCache implementation a little r=sfink 2017-06-14 10:35:16 +01:00
Jon Coppeard
5d86054665 Bug 1371234 - Clear GC edges when deleting a GC managed object outside a GC r=sfink 2017-06-14 10:29:52 +01:00
Jan de Mooij
83f290de99 Bug 1370608 part 1 - Move newEnumerate hook from ObjectOps to ClassOps. r=evilpie,bz 2017-06-14 10:37:44 +02:00
Jon Coppeard
08ac3244a6 Bug 1370869 - Don't copy scope data in XDR decode r=shu 2017-06-12 10:43:46 +01:00
Jonathan Hao
dca1a28633 Bug 1217238 - Reduce time precision when privacy.resistFingerprinting is on. r=mystor
This patch is adapted from Tor bug 1517.

To offer some protection against timing attacks by JS content pages, in this
patch we round the various time-exposing APIs (such as Date and
Event.timeStamps) to the nearest 100 ms when the pref "privacy.resistFingerprinting" is on.

MozReview-Commit-ID: eGucM9nGTn

--HG--
extra : rebase_source : 3ee600b07943f3954e9a2a9561391f2f7821bb86
2017-06-06 11:45:14 +08:00
Jon Coppeard
422260f4ea Bug 1341367 - Make the sense of HashTable::Ptr::isValid match its name r=luke 2017-06-06 11:25:57 +01:00
Benjamin Bouvier
71b086f56b Bug 1364520: Remove the jitTop optimization; r=jandem
MozReview-Commit-ID: 1ifOuh90QEK

--HG--
extra : rebase_source : 4609aefd9e92c9f438bb9e955ea6dadc2750fc19
2017-06-02 19:34:05 +02:00
Jon Coppeard
bcbfa5c7e9 Bug 1370069 - Fix several issues with incremental atom sweeping r=sfink 2017-06-06 09:46:15 +01:00
Nicholas Nethercote
1b418b1c18 Bug 1369644 - Remove use of |volatile| from ProfileEntry. r=mstange,shu,jseward,froydnj.
These annotations aren't doing anything useful. The important thing with
the PseudoStack is that, during pushes, the stack pointer incrementing happens
after the new entry is written, and this is ensured by the stack pointer being
Atomic.

The patch also improves the comments on PseudoStack.

--HG--
extra : rebase_source : 100f8a5e4b750c15fac66175550c4c284a141f16
2017-06-02 17:16:56 +10:00
Nicholas Nethercote
2b5f064d4e Bug 1369276 (part 2) - Convert ProfileEntry::Flags to Kind. r=shu.
There are three flags in ProfileEntry::Flags, which suggests there are 2**3 = 8
combinations. But there are only actually 4 valid combinations.

This patch converts the three flags to a single "kind" enum, which makes things
clearer. Note also that the patch moves the condition at the start of
AddPseudoEntry() to its callsite, for consistency with the earlier JS_OSR entry
kind check.

--HG--
extra : rebase_source : 0950769ee1530291860ef3be47d240df5939e871
2017-06-02 12:46:09 +10:00
Jon Coppeard
959a65d9e8 Bug 1369444 - Sweep the atoms table incrementally r=sfink 2017-06-02 10:32:37 +01:00
Nicholas Nethercote
82d74fe1f0 Bug 1367654 (part 1) - Clean up ProfileEntry. r=shu.
This patch:

- renames flags_ as flagsAndCategory_ because it contains both the flags and
  the category;

- uses << for some bitfield definitions, because it's easier to read;

- removes some dead methods from ProfileEntry;

- removes the unnecessary JS_FRIEND_API from setPC().

--HG--
extra : rebase_source : 24e24b2f6c948b770293ea497be4933f58be3722
2017-05-26 14:54:31 +10:00
Nicholas Nethercote
a062b9be51 Bug 1366650 (part 2) - In GeckoProfiler, do all pseudo-stack accesses via the PseudoStack class, instead of via raw array manipulation. r=mstange,shu.
- The profiler gives the JS engine a reference to the pseudo-stack via
  SetContextProfiilngStack(). That function now takes a |PseudoStack*| instead
  of a |ProfileEntry*| and pointer to the stack pointer.

- PseudoStack now has a |kMaxEntries| field, which is easier to work with than
  |mozilla::ArrayLength(entries)|.

- AddressOfStackPointer() is no longer needed.

- The patch also neatens up the push operations significantly. PseudoStack now
  has pushCppFrame() and pushJsFrame(), which nicely encapsulate the two main
  cases. These delegate to the updated initCppFrame() and initJsFrame()
  functions in ProfileEntry.

- Renames max_stck in testProfileStrings.cpp as peakStackPointer, which is a
  clearer name.

- Removes a couple of checks from testProfileStrings.cpp. These checks made
  sense when the pseudo-stack was accessed via raw manipulation, but are not
  applicable now because we can't artificially limit the maximum stack size so
  easily.
2017-05-26 09:51:31 +10:00
Nicholas Nethercote
0840bb61c6 Bug 1366650 (part 1) - Move PseudoStack into SpiderMonkey. r=mstange,shu.
This includes renaming its fields to match SpiderMonkey naming conventions
instead of Gecko naming conventions.

This patch is just about moving the code. The next patch will change
SpiderMonkey to actually use PseudoStack directly.

--HG--
extra : rebase_source : 27e77ddf950201eb6bdba60003218056442cf7ab
2017-05-26 09:37:28 +10:00
Nicolas B. Pierron
0727a6547f Bug 1364120 - Remove FINISH_LARGE_EVALUATE gc. r=jonco 2017-05-24 18:14:31 +00:00
Bill McCloskey
d365f6d96f Bug 1323083 - Change representation of GC mark state to enable incremental gray marking r=jonco
--HG--
extra : rebase_source : 55d5cb8d31ec5280ee508c2c428699e2e04548a3
2016-12-14 13:59:43 -08:00
Nicholas Nethercote
d1e495344b Bug 1365854 - Remove FRAME_LABEL_COPY. r=mstange,shu.
ProfileEntry has |string|, which can be static or dynamic, and |dynamicString|.
If |string| is dynamic, the FRAME_LABEL_COPY flag must be set, and it will be
copied into profiler output.

But there is only one place that uses dynamic |string| values, in SpiderMonkey.
And that place doesn't use |dynamicString|. So this patch changes that place to
use an empty |string| and put the old dynamic |string| value in
|dynamicString|. This in turn removes the need for FRAME_LABEL_COPY.

One minor wrinkle is that when |dynamicString| is used the old code put a space
between |string| and |dynamicString|. The new code omits the space if |string|
is empty.

The patch also renames ProfileEntry::string as ProfileEntry::label_, which
better matches how it's used, and ProfileEntry::dynamicString as
ProfileEntry::dynamicString_ so the getter can be renamed dynamicString().
2017-05-18 17:17:46 +10:00
Jon Coppeard
e85f5ed76c Bug 1365654 - Add a move constructor to HashTable::Enum r=luke 2017-05-18 16:22:00 +01:00
Steve Fink
2c8f69a305 Bug 1364547 - Tell Gecko whether a slice is a final slice, r=jonco,mccr8
--HG--
extra : rebase_source : ea028988b3515cdc441af8f7c2c1ba0794482494
2017-05-12 16:46:43 -07:00
Steve Fink
51871e1507 Bug 1364547 - Call the slice end callback for every slice, r=jonco
Currently, the final slice of an incremental GC only gets a GC_CYCLE_END callback, not a GC_SLICE_END callback. So if you are doing anything that expects to see all of the slices, you will be missing one.

Simplify the setup so that every GC is bracketed with CYCLE_BEGIN/END, and every slice is bracketed with SLICE_BEGIN/END, treating a nonincremental as a GC with a single slice (which it is for everything else.)

--HG--
extra : rebase_source : 8e21300819d517b3e35de14930f53b3ab737a44e
2017-05-15 08:06:24 -07:00
Jon Coppeard
e7b80c5987 Bug 1362977 - Rename CellSize to CellAlignBytes and improve the naming of related constants r=sfink 2017-05-09 11:38:32 +01:00
Steve Fink
7ef280069e Bug 1322560 - Record minor GC timings in profiles, r=jonco, mccr8, mstange
--HG--
extra : rebase_source : 073eceb4216b0505f8cbce0947e3e5091626ead1
2017-04-25 13:24:34 -07:00
Steve Fink
350af64f4a Bug 1322560 - Add APIs for retrieving major GC timing info, r=jonco
--HG--
extra : rebase_source : 9a038e2b7ea4c0d6242eed9ab6d753e590619bdb
extra : source : 4dee851a0d45655260ace1c01eb4dd9e9905942f
2017-05-02 15:45:43 -07:00
Kannan Vijayan
3e15b3041e Bug 1358599 - Use runtime guards for jitcode pre-barriers instead of patchable jumps. r=jandem r=sfink 2017-04-30 08:42:34 -04:00
Jan de Mooij
8ddc231e13 Bug 1360523 - Define number of reserved slots explicitly for each proxy js::Class. r=bz 2017-04-29 14:41:49 +02:00
Steve Fink
84742375b0 Backed out changeset 4dee851a0d45 (bug 1322560)
--HG--
extra : rebase_source : ef09906aaa98d4cb8a005d831ac887b6b24f11c1
2017-04-28 11:13:14 -07:00
Steve Fink
29642b93be Bug 1322560 - Add APIs for retrieving major GC timing info
--HG--
extra : rebase_source : ca6176bc7af4a71521f416aa4a70230aeee90ec0
2017-04-26 13:48:09 -07:00
Jan de Mooij
f480e9ecdf Bug 1237504 - Refactor proxy slot layout to allow proxies to have more than 2 slots. r=bz,jonco
The patch makes the following proxy changes:

* The number of slots in ProxyValueArray is now dynamic and depends on the number of reserved slots we get from the Class.
* "Extra slots" was renamed to "Reserved slots" to make this clearer.
* All proxy Classes now have 2 reserved slots, but it should be easy to change that for proxy Classes that need more than 2 slots.
* Proxies now store a pointer to these slots and this means GetReservedSlot and SetReservedSlot can be used on proxies as well. We no longer need GetReservedOrProxyPrivateSlot and SetReservedOrProxyPrivateSlot.

And some changes to make DOM Proxies work with this:

* We now store the C++ object in the first reserved slot (DOM_OBJECT_SLOT) instead of in the proxy's private slot. This is pretty nice because it matches what we do for non-proxy DOM objects.
* We now store the expando in the proxy's private slot so I removed GetDOMProxyExpandoSlot and changed the IC code to get the expando from the private slot instead.
2017-04-28 14:12:28 +02:00
Bill McCloskey
ee9f642133 Bug 1359245 - Remove CycleCollectedJSRuntime::mJSContext (r=mccr8,sfink)
This patch eliminates a field where we assume that there is one
CycleCollectedJSContext per runtime.

MozReview-Commit-ID: 5cEL5Ml6Y9v
2017-04-27 15:34:46 -07:00
Jon Coppeard
eb3c9870bf Bug 1352430 - Add barrier to wrapper cache to clear dying objects that have not yet been finalized r=bz r=sfink
* * *
Code review followup

--HG--
extra : rebase_source : 10c1fd603c2dd1ac2ff5770ae9aec2e9131681ce
2017-04-26 11:18:39 +01:00
Carsten "Tomcat" Book
68e9a2dfd5 Merge mozilla-central to mozilla-inbound 2017-04-26 09:04:59 +02:00
Wes Kocher
5e8bdb175d Merge inbound to m-c a=merge
MozReview-Commit-ID: A85cs7Yriqj
2017-04-25 13:53:00 -07:00
Jan de Mooij
9a36b7a7b6 Bug 1359077 - Optimize a few things in ExposeGCThingToActiveJS. r=jonco
--HG--
extra : rebase_source : 7cecd6b2bed61e35c187effb47a94b236697bd86
2017-04-25 15:07:55 +02:00
Jon Coppeard
d7e0c83dcc Bug 1359001 - Make AutoAssertGCCallback a no-op in opt builds r=sfink 2017-04-25 10:56:34 +01:00
Nicholas Nethercote
5106aa14b9 Bug 1359007 - Remove js::ProfilingGetPC(). r=shu.
AddPseudoEntry() has a single callsite which always passes nullptr for the
last argument. This means that js::ProfilingGetPC() is never called, and so can
be removed. (Even if it was called, it always returns nullptr because ipToPC()
always returns nullptr!)

--HG--
extra : rebase_source : 1260d726c79bf5116143da9904d39b38e3c93837
2017-04-26 14:32:26 +10:00
Tom Tromey
66313f92eb Bug 1349655 - remove sig_safe_t in favor of mozilla::Atomic<uint32_t>; r=djvj,njn
Remove the definition of sig_safe_t, which is only used by PseudoStack,
and replace the uses with mozilla::Atomic<uint32_t>.

MozReview-Commit-ID: GcPd9R94Vci

--HG--
extra : rebase_source : dcc05a219d59ffdc0486ef2e7118d888c6a93fda
2017-03-22 13:57:31 -06:00
Jan de Mooij
113e7692b5 Bug 1358047 - Move Baseline CacheIR code map from JitCompartment to JitZone. r=djvj 2017-04-24 12:41:04 +02:00
Hannes Verschore
e8f7043d0b Bug 1319746: Add a memory reporter for CFGGraph on BaselineScript, r=njn 2017-04-21 19:37:06 +02:00
Hannes Verschore
31296801c2 Bug 1334409 - TraceLogging: Add memory reporter for TraceLogging, r=njn 2017-04-21 19:37:04 +02:00
Jan de Mooij
ba166dc062 Bug 1357680 part 1 - Track Ion-inlined scripts explicitly so we can inline functions with unknown properties. r=bhackett 2017-04-21 10:05:12 +02:00
Iris Hsiao
24d2c9df0c Backed out changeset 7a446a56598f (bug 1357680) for leak issue
--HG--
extra : rebase_source : 8eb9c832448460c828ce286fd60d0b05916b86af
2017-04-21 17:03:38 +08:00
Jan de Mooij
cc0764fefd Bug 1357680 part 1 - Track Ion-inlined scripts explicitly so we can inline functions with unknown properties. r=bhackett 2017-04-21 10:05:12 +02:00
André Bargull
5bb206b75b Bug 1345115 - Part 1: Don't switch compartment when typed array constructor is called with arraybuffer from other compartment. r=Waldo
--HG--
extra : rebase_source : 97867f565d4dfc46519d440304bc8249f7e49966
2017-04-19 06:07:16 -07:00
Nick Fitzgerald
f4ff20cfd0 Bug 1277338 - Part 6: Turn various macro definitions into proper constants; r=sfink 2017-04-13 13:22:20 -07:00
Nick Fitzgerald
4fa7679d42 Bug 1277338 - Part 3: Make JS::Rooted and JS::PersistentRooted share the same MaybeWrapped<T> definition; r=sfink
They were previously using duplicate definitions and this DRYs them up. This is
needed because bindgen can't understand `mozilla::Conditional`, and so we want
to replace `MaybeWrapped` with something a little simpler when doing bindings
generation, and its easier if we don't have to repeat our desired replacement as
well.
2017-04-13 13:22:20 -07:00
Nick Fitzgerald
34f4a8d184 Bug 1277338 - Part 2: Refactor CallArgs to avoid zero-sized base classes; r=sfink
Zero-sized base classes are a particular pain point for bindgen. When used as a
base class they can be truly zero sized, but when used directly they have to
have a byte inserted to enable C++'s distinct-objects-have-distinct-addresses
rule. Bindgen could generate two different struct definitions for such cases,
but then users need to know which to use at which time and its simpler to just
avoid zero sized base classes.
2017-04-13 13:22:20 -07:00
Jon Coppeard
1797b2399a Bug 1355065 - Remove unused read barrier API r=jandem 2017-04-12 09:58:47 +01:00