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

229 Коммитов

Автор SHA1 Сообщение Дата
Jan de Mooij bccfe7c569 Bug 1508065 - Change JS_PUBLIC_{API,DATA} and JS_FRIEND_{API,DATA} to be more like similar macros to avoid confusing clang-format. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D12256

--HG--
extra : moz-landing-system : lando
2018-11-19 17:02:47 +00:00
Ted Campbell 49eabf2337 Bug 1508180 - Use uppercase names for high-order macros in js/ r=jandem
This pleases clang-format and makes many of these behave better when
auto formatted. Special cases may still be marked |clang-format off| in
later commits.

Differential Revision: https://phabricator.services.mozilla.com/D12231

--HG--
extra : moz-landing-system : lando
2018-11-19 13:05:09 +00:00
Jan de Mooij ab644b087f Bug 1488698 - Always use braces for if/for/while statements in js/public. r=jandem
--HG--
extra : rebase_source : 075f0747c9256fee67925853b501b7a3549cebba
2018-09-06 12:11:07 +02:00
Nicholas Nethercote b9e071e2e8 Bug 1481998 - Make mozilla::Hash{Map,Set}'s entry storage allocation lazy. r=luke,sfink
Entry storage allocation now occurs on the first lookupForAdd()/put()/putNew().
This removes the need for init() and initialized(), and matches how
PLDHashTable/nsTHashtable work. It also removes the need for init() functions
in a lot of types that are built on top of mozilla::Hash{Map,Set}.

Pros:

- No need for init() calls and subsequent checks.

- No memory allocated for empty tables, which are not that uncommon.

Cons:

- An extra branch in lookup() and lookupForAdd(), but not in put()/putNew(),
  because the existing checkOverloaded() can handle it.

Specifics:

- Construction now can take a length parameter.

- init() is removed. Explicit length-setting, when necessary, now occurs in the
  constructors.

- initialized() is removed.

- capacity() now returns zero when the entry storage is absent.

- lookupForAdd() is no longer `const`, because it can instantiate the storage,
  which requires modifications.

- lookupForAdd() can now return an invalid AddPtr in two cases:

  - old: hashing failure (due to OOM in the hasher)

  - new: OOM while instantiating entry storage

  The existing failure handling paths for the old case work for the new case.

- clear(), finish(), and clearAndShrink() are replaced by clear(), compact(),
  and reserve(). The old compactIfUnderloaded() is also removed.

- Capacity computation code is now in its own functions, bestCapacity() and
  hashShift(). setTableSizeLog2() is removed.

- uint32_t is used throughout for capacities, instead of size_t, for
  consistency with other similar values.

- changeTableSize() now takes a capacity instead of a deltaLog2, and it can now
  handle !mTable.

Measurements:

- Total source code size is reduced by over 900 lines. Also, lots of existing
  lines got shorter (i.e. two checks were reduced to one).

- Executable size barely changed, down by 2 KiB on Linux64. The extra branches
  are compensated for by the lack of init() calls.

- Speed changed negligibly. The instruction count for Bench_Cpp_MozHash
  increased from 2.84 billion to 2.89 billion but any execution time change was
  well below noise.
2018-08-10 18:00:29 +10:00
Nicholas Nethercote e39fda4c40 Bug 1480668 - Remove js::CStringHashPolicy. r=luke
It's identical to mozilla::CStringHasher.

Also fix a comment at the top of HashTable.h about CStringHasher.

--HG--
extra : rebase_source : 92176c4f6ea8041f309764b4ce0271a494853a7b
2018-08-06 07:55:50 +10:00
Matthew Gaudet 5d0bf9c261 Bug 1469044: [Part 2] Remove remainder of MathCache r=jandem
--HG--
extra : rebase_source : 587d69130f2c6d50ca8e14bd0ccaf7a4f58285e8
2018-07-09 16:52:16 -04:00
Jan de Mooij 156284156a Bug 1363214 - Remove JS::Realm/JSCompartment inheritance. r=jonco
--HG--
extra : rebase_source : ad63de7c6676532640659d1fccced7f83798e06d
2018-06-06 14:30:52 +02:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Jan de Mooij 45e968b1dd Bug 1464134 part 8 - Make IterateHeapUnbarriered and related code use realms instead of compartments. r=jonco 2018-05-30 20:14:19 +02:00
Robin Templeton de41c625dd Bug 1366287 - Part 1.0: Define a new BigInt primitive type, with a GDB prettyprinter, Rust binding support, and a new out-of-line TraceKind. (Disabled by default, implemented only incompletely, currently passing --enable-bigint will disable JITs, will be flipped on Eventually once every sub-aspect is in place, Don't Have A Cow, Man.) r=jwalden, r=Ms2ger, r=sfink
--HG--
extra : rebase_source : aa13bd94bc6157ff8134894e3ba2e7a2b53e28d9
2018-05-24 11:26:09 -07:00
Jan de Mooij 575aec161b Bug 1461677 - Rename compartment to realm in the memory reporting code. r=njn 2018-05-17 16:15:18 +02:00
Jeff Walden 0e6638e74f Bug 1461556 - Don't use mozilla::PodZero in a bunch of places to initialize values of non-trivial type. r=jandem 2018-05-15 09:31:24 -07:00
Andi-Bogdan Postelnicu 4644e05661 Bug 1461600 - avoid doing memset on ServoSizes since it's not POD. r=njn
MozReview-Commit-ID: 4jjLGVDgXWV

--HG--
extra : rebase_source : ae37df32311382f56381f8b826850b8784bd4038
2018-05-15 14:02:11 +03:00
Ted Campbell a1a65038fe Bug 1448563 - Part 6: Add memory reporting for off-thread WASM. r=luke
MozReview-Commit-ID: 1lXRj1JUJk2

--HG--
extra : source : 97dbd15798f96a95021bc0a66c9b1dfc22414025
2018-04-11 15:49:36 -04:00
Bogdan Tara b644004031 Backed out changeset 97dbd15798f9 (bug 1448563) for bad-malloc_usable_size /builds/worker/workspace/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc a=backout CLOSED TREE 2018-04-23 22:23:01 +03:00
Ted Campbell 7baaa3f753 Bug 1448563 - Part 6: Add memory reporting for off-thread WASM. r=luke
MozReview-Commit-ID: 1lXRj1JUJk2
2018-04-23 13:57:50 -04:00
Ted Campbell ce0c6eb300 Bug 1448563 - Part 5: Add memory reporting for Ion offthread. r=jandem
MozReview-Commit-ID: KnuaP5HwNnm
2018-04-23 13:56:54 -04:00
Ted Campbell 3f8ed0a1db Bug 1448563 - Part 4: Add memory reporting for off-thread parse. r=jandem
MozReview-Commit-ID: 2qH6cwFRrfG
2018-04-23 13:55:59 -04:00
Ted Campbell d1cc6f3d5b Bug 1448563 - Part 3b: Add memory reporting for JS helper threads. r=jandem
MozReview-Commit-ID: JbOY0QRn0Wl
2018-04-23 13:55:01 -04:00
Ted Campbell 9f41272463 Bug 1448563 - Part 2: Add memory reporting for Ion lazy linking. r=jandem
MozReview-Commit-ID: 4tHDJXzJKY5
2018-04-23 13:53:01 -04:00
Ted Campbell bdaa0bde42 Bug 1448563 - Part 1: Use JS::CollectGlobalReports for non-runtime memory. r=jorendorff
MozReview-Commit-ID: G4j6YKP0vEV
2018-04-23 13:52:04 -04:00
Andreea Pavel 363ad2007d Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-03-15 00:11:42 +02:00
Andi-Bogdan Postelnicu ad0f5aaafb Bug 1437532 - prevent doing memset on a non-trivial type. r=jorendorff
MozReview-Commit-ID: C8BfwJSHkWM

--HG--
extra : rebase_source : 3bd28ff459b76be79da6a518fb1da49b23aef9fe
2018-03-13 11:57:49 +02:00
Luke Wagner 8a5136ff57 Bug 1435360 - Baldr: implement wasm interrupt in terms of TlsData branch and stack overflow check (r=bbouvier)
--HG--
extra : rebase_source : 77543186df0d37d7267101c0c1a6b672405be461
2018-03-12 15:10:06 -05:00
Brindusan Cristian 575a3a3976 Backed out 3 changesets (bug 1435360) for web-platform reftests failures on marionette/content/reftest.js CLOSED TREE
Backed out changeset c4bc47b31311 (bug 1435360)
Backed out changeset eb7a4a96c333 (bug 1435360)
Backed out changeset 7d6183aa40da (bug 1435360)
2018-03-12 23:53:41 +02:00
Luke Wagner d389a89796 Bug 1435360 - Baldr: implement wasm interrupt in terms of TlsData branch and stack overflow check (r=bbouvier)
--HG--
extra : rebase_source : c65945e89c19c0f4bd4208b0e67348ef6b410797
2018-03-12 15:10:06 -05:00
Jason Orendorff e7c94fff59 Bug 1439063 - Part 1: Move several public headers from js/src to js/public. r=jandem.
js/src/jsalloc.h -> js/public/AllocPolicy.h
jsalloc.cpp -> js/src/util/AllocPolicy.cpp
jsbytecode.h -> merge into js/public/TypeDecls.h
jsprf.h -> js/public/Printf.h
jsprf.cpp -> js/src/util/Printf.cpp
jsprototypes.h -> public/ProtoKey.h
jswrapper.h -> js/Wrapper.h

--HG--
rename : js/src/jsalloc.h => js/public/AllocPolicy.h
rename : js/src/jsprf.h => js/public/Printf.h
rename : js/src/jsprototypes.h => js/public/ProtoKey.h
rename : js/src/jswrapper.h => js/public/Wrapper.h
rename : js/src/jsalloc.cpp => js/src/util/AllocPolicy.cpp
rename : js/src/jsprf.cpp => js/src/util/Printf.cpp
extra : rebase_source : 98b16d94c469202eab0303a8da844f1d0b6aa809
extra : amend_source : e0b16c1077226d6fe240f4d7096537f93b43f2b8
extra : histedit_source : d94e0ba7904a7d66742c7fac43f638aaec4fa4e5
2018-02-21 10:30:19 -06:00
André Bargull 04c864d3c5 Bug 1437530: Cache template literal objects per call site again. r=arai 2018-02-19 05:07:29 -08:00
Andrew McCreight df1f7c00c3 Bug 1437978 - Add memory reporting for scriptCountsMap. r=nbp
MozReview-Commit-ID: 1AJHhJDJerr

--HG--
extra : rebase_source : f867bd00f1c41052fc6eadc23cd2dd1e41a2c354
2018-02-13 10:00:14 -08:00
Jon Coppeard bccffc2ea8 Bug 1400278 - Replace runtime allocation with system or zone allocation where possible r=jandem 2017-09-20 13:19:32 +01:00
Jon Coppeard ac6b4e8831 Backed out changeset 29b2e8acf5f9 (bug 1400278) for local crashes 2017-09-21 15:50:36 +01:00
Jon Coppeard 056acc6fae Bug 1400278 - Replace runtime allocation with system or zone allocation where possible r=jandem 2017-09-20 13:19:32 +01:00
Jason Orendorff ddaf859c55 Bug 1363200 - JSAPI for realms: Change a few XPConnect methods to take Realm arguments instead of JSCompartments. r=mrbkap
This also introduces JS::GetObjectRealmOrNull, which returns an object's realm,
or null if the object is a cross-compartment wrapper. In the new order,
wrappers can't have realms, since they must be shared across all realms in a
compartment. We're introducing this new function early (even though it's
*currently* possible to assign a realm to wrappers) in order to see in
advance if the possibility of returning null will cause problems.
(It looks like it won't.)

--HG--
extra : rebase_source : e55ebbbc4edf2a18ce267198928246592060e339
extra : source : d6bfce1187aa13dbfab03f9566ff7b05b6705e70
2017-06-28 12:31:53 -07:00
Jan de Mooij db3fda15b3 Bug 1378740 - Share RegExpShareds across compartments within a zone. r=jonco 2017-07-06 16:40:39 +02: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
Jon Coppeard 973692b373 Bug 1345177 - Make RegExpShared a GC thing r=sfink 2017-03-27 10:38:29 +01:00
Jon Coppeard 1376c2700e Backed out changesets e66f564d9749 and 0380d914ad39 (bug 1345177) for rooting hazards 2017-03-27 11:09:54 +01:00
Jon Coppeard f7a6438226 Bug 1345177 - Make RegExpShared a GC thing r=sfink 2017-03-27 10:38:29 +01:00
Shu-yu Guo c91e65240b Bug 1108941 - Implement the per-global template literal registry. (r=arai,jonco) 2017-03-08 12:00:54 -08:00
Brian Hackett 8033ed29a8 Bug 1324002 - Mark atoms separately in each zone, r=jonco,mccr8,peterv.
--HG--
extra : rebase_source : 53cf4fa94f122a991c2adbd7bae3714de4391bb4
2017-01-30 06:31:47 -07:00
André Bargull 8a555a2bfd Bug 1303091 - Share static Intl data across compartments. r=Waldo, r=jonco
--HG--
rename : js/src/builtin/IntlTzData.js => js/src/builtin/IntlTimeZoneData.h
extra : rebase_source : 558f4fba32efdee429423055f3786e1dc09e4d68
2016-11-17 14:40:18 -08:00
Benjamin Bouvier fcf5a05013 Bug 1307768: Don't include wasmGuardPages with the rest of the ClassInfo fields; r=njn
MozReview-Commit-ID: 9tqQdAn2Ywa

--HG--
extra : rebase_source : 0a8ed1a2637968285f497ef3e41aa3b75a8ed49f
extra : amend_source : 759c252412b2e5ba99805cf5bb05828ff947f833
2016-10-14 14:53:08 +02:00
Benjamin Bouvier b81b572a1c Bug 1303013: Account memory for wasm guard pages; r=njn, r=luke
MozReview-Commit-ID: BHS1UfgT1yf

--HG--
extra : rebase_source : 7fea9606f776a904870fdfb4bbb93e43fd4b0a44
2016-09-19 19:39:50 +02:00
Shu-yu Guo 03569f36dd Bug 1263355 - Report memory metrics for Scopes. (r=njn) 2016-08-25 01:28:47 -07:00
Shu-yu Guo e2b6833e0a Bug 1263355 - Rewrite the frontend: bindings. (r=jorendorff,Waldo) 2016-08-25 01:28:47 -07:00
Jan de Mooij d8047f2b2f Bug 1295967 - Share Shapes and BaseShapes across compartments. r=jonco,fitzgen,njn 2016-08-23 11:25:54 +02:00
Jon Coppeard 17304689a2 Bug 1291292 - Use dynamic chunk allocation for the nursery r=terrence 2016-08-11 17:14:56 +01:00
Jan de Mooij 0ad12515f4 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00