Bobby Holley
dec296ddbc
Use features to prevent the util component from entraining the world in GeckoLib builds.
2016-01-11 19:38:43 -08:00
Bobby Holley
47059d2d26
Separate style+layout and layout-specific wrapper functionality.
...
This patch does a number of things, unfortunately all at once:
* Hoists a large subset of the layout wrapper functionality into the style system.
* Merges TElementAttributes into the newly-created TElement.
* Reorganizes LayoutData by style vs layout, and removes LayoutDataShared.
* Simplifies the API for borrowing style/layout data.
There's still more to do to make the style system usable standalone, but
this is a good start.
2015-12-29 11:50:03 -08:00
Manish Goregaokar
dc0e467945
Upgrade to rustc 1.6.0-nightly (d5fde83ae 2015-11-12)
...
… and libc 0.2 and many other dependencies
2015-11-27 00:15:29 -05:00
Aleksandr Likhanov
4bf21ab15e
reduce node.unique_id size
...
fix sizeof unittest
update Cargo.lock
2015-11-19 00:48:20 +05:00
Alan Jeffrey
736323a779
Made DOMString implement HeapSizeOf.
...
We have to do this by hand because DOMString is defined in util.
2015-11-12 17:52:59 -06:00
Alan Jeffrey
4aa6a76f57
Made QualName traceable by JS.
2015-11-06 17:23:15 -06:00
Ms2ger
6b75078503
Make DOMString a newtype around String, rather than a typedef.
...
This should make it somewhat easier to experiment with alternative
representations in the future. To reduce churn, this commit leaves the String
field public, though.
Also, this will allow us to use the default String type to represent the IDL
USVString type, which explicitly forbids unpaired surrogates, ans as such is
a better match to the Rust String type.
2015-11-04 12:09:11 +01:00
Bobby Holley
79ac365a68
Move EventState to rust-selectors.
2015-10-30 21:02:35 -07:00
Corey Farwell
20beaf5af3
Fix issues found by rust-clippy
2015-10-12 20:21:49 -04:00
Glenn Watson
339a3f869b
Split Au type into separate crate, with minimal dependencies.
2015-10-01 07:16:11 +10:00
Ravi Shankar
889eec364b
sorted the extern crate, mod & use declarations
2015-09-24 02:12:45 +05:30
Manish Goregaokar
3c969b346a
Upgrade rust to f93ab64d4a1a7ee91759a1594ab2a426b6cc657e/rustc-1.5.0-dev.
2015-09-23 14:44:59 +02:00
Brandon Fairchild
de3547e401
Fix reported test-tidy errors for unmerged import blocks
...
This merges import blocks that were reported by tidy as unmerged.
2015-09-19 12:50:14 -04:00
Simon Sapin
81dd1ab363
Record first and last token type of custom property values.
2015-09-17 14:48:19 +02:00
Johann Tuffe
ec07178b6f
sort all uses
2015-08-20 20:47:12 +08:00
Bogdan Cuza
45145108da
Measure heap memory usage for more types. Fixes #6951
2015-08-13 21:44:41 +03:00
Simon Sapin
0f0de57936
Add a comment to explain the struct pattern trick.
...
https://github.com/servo/servo/issues/6912#issuecomment-127429643
2015-08-04 07:37:19 +02:00
Josh Matthews
8620fe5995
Start reporting memory usage for Window and all nodes in all DOM trees for frame treese in script tasks.
2015-08-03 23:05:00 -04:00
Bogdan Cuza
46442d28fa
Implement HeapSizeOf for Url. Fixes #6912
2015-08-03 22:02:56 +03:00
ecoal95
8cbfb3482c
Use euclid from crates.io
2015-06-19 00:04:24 +02:00
Nicholas Nethercote
48a0725c01
Measure LocalLayoutContexts in LayoutTask and LayoutWorkers.
...
The FreeType instances in layout workers are reasonably large and worth
measuring. The one in LayoutTask is smaller but it's easy to measure at the
same time. Sample output:
```
| 8.33 MiB -- pages
| 8.33 MiB -- url(file:///home/njn/moz/servo/../servo-static-suite/wikipedia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyclopedia.html)
| 1.32 MiB -- layout-worker-0-local-context
| 1.31 MiB -- layout-worker-1-local-context
| 1.24 MiB -- layout-worker-3-local-context
| 1.17 MiB -- layout-worker-4-local-context
| 1.08 MiB -- layout-worker-2-local-context
| 1.06 MiB -- layout-worker-5-local-context
| 0.78 MiB -- paint-task
| 0.78 MiB -- buffer-map
| 0.38 MiB -- layout-task
| 0.30 MiB -- display-list
| 0.07 MiB -- local-context
```
This required adding a mechanism to WorkQueue to measure worker TLSes.
2015-06-10 21:06:59 -07:00
Glenn Watson
899ab226de
Updates for changes in rust-geom and rust-layers
2015-06-11 07:19:58 +10:00
Patrick Walton
e42011cd53
Revert "Updates for changes in rust-geom and rust-layers"
2015-06-10 14:14:51 -07:00
Glenn Watson
8fb29c91e6
Updates for changes in rust-geom and rust-layers
2015-06-11 07:05:56 +10:00
Manish Goregaokar
d347aeda38
fix rebase conflicts
2015-06-03 09:56:43 +05:30
Manish Goregaokar
13b4bcfbb7
Remove all Arc-less ignores, force reasons, ignore_heap_size_of
2015-06-03 07:14:21 +05:30
Manish Goregaokar
5447d2af3d
remove more heapsize ignores
2015-06-03 07:14:20 +05:30
Manish Goregaokar
a5975e8f33
use knownheapsize for geom stuff
2015-06-03 07:14:18 +05:30
Manish Goregaokar
c1daf889af
use HeapSizeOf plugin in gfx
2015-06-03 07:13:40 +05:30
Manish Goregaokar
f4bc92526a
Add #[heapsize]/#[derive(HeapSizeOf)] plugin to auto-derive HeapSizeOf
impls
...
(fixes #5914 )
2015-06-03 07:12:00 +05:30
Simon Sapin
ef8edd4e87
Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8.
2015-05-05 10:07:34 -04:00
Nicholas Nethercote
ce36e574f4
Rename lots of profiling-related things.
...
------------------------------------------------------------------------
BEFORE AFTER
------------------------------------------------------------------------
util::memory util::mem
- heap_size_of - heap_size_of (unchanged)
- SizeOf - HeapSizeOf
- size_of_excluding_self - heap_size_of_children
prof::mem prof::mem
- MemoryProfilerChan - ProfilerChan
- MemoryReport - Report
- MemoryReportsChan - ReportsChan
- MemoryReporter - Reporter
- MemoryProfilerMsg - ProfilerMsg
- {R,UnR}egisterMemoryReporter - {R,UnR}egisterReporter
- MemoryProfiler - Prof
- ReportsForest - ReportsForest (unchanged)
- ReportsTree - ReportsTree (unchanged)
- SystemMemoryReporter - SystemReporter
prof::time prof::time
- TimeProfilerChan - ProfilerChan
- TimerMetadata - TimerMetadata (unchanged)
- Formatable - Formattable [spelling!]
- TimeProfilerMsg - ProfilerMsg
- TimeProfilerCategory - ProfilerCategory
- TimeProfilerBuckets - ProfilerBuckets
- TimeProfiler - Profiler
- TimerMetadataFrameType - TimerMetadataFrameType (unchanged)
- TimerMetadataReflowType - TimerMetadataReflowType (unchanged)
- ProfilerMetadata - ProfilerMetadata (unchanged)
In a few places both prof::time and prof::mem are used, and so
module-qualification is needed to avoid overlap, e.g. time::Profiler and
mem::Profiler. Likewise with std::mem and prof::mem. This is not a big
deal.
2015-03-25 16:00:23 -07:00