Commit Graph

5 Commits

Author SHA1 Message Date
Simon Sapin
45ade4a08a servo: Merge #20474 - Use new std::num::NonZero* types instead of deprecated core::nonzero::NonZero (from servo:nonzero); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: bfb9fe6159ba61f0155a5ecc5a473b2a3edd6ef6
2018-04-09 15:44:16 -04:00
Simon Sapin
5f86fd1eb8 servo: Merge #19476 - Use workspace.default-members to specify default crates for cargo build (from servo:default-members); r=nox
… and 'cargo test', etc. Include Servo and its unit tests, but not Stylo because that would try to compile the style crate with incompatible feature flags: https://github.com/rust-lang/cargo/issues/4463

`workspace.default-members` was added in https://github.com/rust-lang/cargo/pull/4743. Older Cargo versions ignore it.

Source-Repo: https://github.com/servo/servo
Source-Revision: df68eea3f21cc3bbf24d5bbb66be42c4e3a9e427
2017-12-07 06:53:07 -06:00
Nicholas Nethercote
45f978e547 servo: Merge #18938 - Replace all uses of the heapsize crate with malloc_size_of (from nnethercote:bug-1409255); r=SimonSapin
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.

This patch makes the following changes to the `malloc_size_of` crate.

- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
  (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).

- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
  support that operation.

- For `HashSet`/`HashMap`, falls back to a computed estimate when
  `enclosing_size_of_op` isn't available.

- Adds an extern "C" `malloc_size_of` function that does the actual heap
  measurement; this is based on the same functions from the `heapsize` crate.

This patch makes the following changes elsewhere.

- Converts all the uses of `heapsize` to instead use `malloc_size_of`.

- Disables the "heapsize"/"heap_size" feature for the external crates that
  provide it.

- Removes the `HeapSizeOf` implementation from `hashglobe`.

- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
  doesn't derive those types, unlike `heapsize`.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1409255

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because testing is on the Gecko side.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 4c538b642e4bdfbf42c522c5a59c258a6d14546e
2017-10-18 13:56:05 -05:00
Anthony Ramine
5144c715f6 servo: Merge #18340 - Use the better TokenStream API in dom_struct (from servo:dom-struct-errors); r=SimonSapin
Before:

```rust
error[E0412]: cannot find type `SourceBuffer` in this scope
  --> /Users/nox/src/servo/components/script/dom/mediasource.rs:25:1
   |
25 | #[dom_struct]
   | ^^^^^^^^^^^^^ did you mean `SourceBufferList`?
```

After:

```rust
error[E0412]: cannot find type `SourceBuffer` in this scope
  --> /Users/nox/src/servo/components/script/dom/mediasource.rs:28:39
   |
28 |     source_buffers: DOMRefCell<Vec<JS<SourceBuffer>>>,
   |                                       ^^^^^^^^^^^^ did you mean `SourceBufferList`?
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 32b04b3f517cebcba34a23e6930860bbedb1431b
2017-09-02 00:48:29 -05:00
Anthony Ramine
6fd1ea43cc servo: Merge #15715 - Make #[dom_struct] a proc_macro attribute (from nox:custom-derive); r=SimonSapin
The rustup is needed for https://github.com/rust-lang/rust/pull/40039.

Source-Repo: https://github.com/servo/servo
Source-Revision: a204c4176dcccdad8ec99d74055c66794c3f64ba
2017-02-24 05:56:30 -08:00