bors-servo
a54404c921
Auto merge of #6876 - metajack:slice_chars-layout, r=pcwalton
...
Use local slice_chars
StrExt::slice_chars is deprecated and will be removed in Rust. This
lifts the implementation from Rust libstd and puts it in util::str.
This fixes a bunch of deprecation warnings in Servo.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6876 )
<!-- Reviewable:end -->
2015-07-31 12:54:49 -06:00
Patrick Walton
2aa5174246
script: Make the resource task communication use IPC channels.
2015-07-31 11:28:09 -07:00
Jack Moffitt
dae1a398a4
Use local slice_chars
...
StrExt::slice_chars is deprecated and will be removed in Rust. This
lifts the implementation from Rust libstd and puts it in util::str.
This fixes a bunch of deprecation warnings in Servo.
2015-07-31 12:23:13 -06:00
Patrick Walton
1ff7a51f0a
compositing: Use an OptionalIpcSender
for communication between the
...
layout and paint tasks.
2015-07-31 08:42:30 -07:00
Patrick Walton
f041e1aa60
util: Remove the old broken SerializableLinkedList
code in favor of
...
serde's native implementation.
2015-07-31 08:42:29 -07:00
Patrick Walton
ef9fdc6e30
util: Add a multiprocess command-line option and implement
...
`OptionalIpcSender<T>`.
`OptionalIpcSender<T>`dynamically switches between in-process and
out-of-process communication depending on whether multiprocess mode is
enabled.
The multiprocess command-line switch doesn't actually turn on
multiprocess mode yet, but it does control the behavior of
`OptionalIpcSender<T>`.
2015-07-31 08:42:29 -07:00
bors-servo
4837dd9a1c
Auto merge of #6850 - servo:rustup_2015-07-30, r=SimonSapin
...
Upgrade to rustc 1.3.0-dev (87055a68c 2015-07-30)
This builds and passes unit tests.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6850 )
<!-- Reviewable:end -->
2015-07-30 14:46:13 -06:00
David Zbarsky
e484d6b5e3
Implement getComputedStyle
2015-07-29 20:17:50 -04:00
Patrick Walton
bb99b2f3c8
script: Make most of 2D canvas and WebGL run over IPC.
...
To actually make the multiprocess communication work, we'll need to
reroute the task creation to the pipeline or the compositor. But this
works as a first step.
2015-07-25 00:50:12 -07:00
Simon Sapin
a3c0366bd6
Fix deprecation warnings
2015-07-24 22:16:35 +02:00
Matt Brubeck
dfac8ce4a1
Basic support for bidirectional text
2015-07-23 20:05:55 -07:00
Josh Matthews
fecb2e3960
Make the global options more resilient to unit tests running in parallel.
2015-07-21 09:14:06 -04:00
bors-servo
5ac80bff8e
Auto merge of #6666 - glennw:exit-flag, r=larsbergstrom
...
Restore exit after load command line flag.
Also updates glutin with a crash fix that was exposed by this patch.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6666 )
<!-- Reviewable:end -->
2015-07-20 15:37:33 -06:00
Bogdan Cuza
0baa6b477c
Replace astersisks with appropriate versions in deps
2015-07-20 20:08:08 +03:00
Glenn Watson
4f28c93f40
Restore exit after load command line flag.
...
Also updates glutin with a crash fix that was exposed by this patch.
2015-07-20 11:19:13 +10:00
Patrick Walton
b6485a9eaf
compositing: Make the constellation messages serializable.
2015-07-18 12:43:08 -07:00
Patrick Walton
6eacb0c995
gfx: Make display lists serializable using serde
.
...
This commit introduces the `serde` dependency, which we will use to
serialize messages going between processes in multiprocess Servo.
This also adds a new debugging flag, `-Z print-display-list-json`,
allowing the output of display list serialization to be visualized.
This will be useful for our experiments with alternate rasterizers.
2015-07-15 19:04:17 -07:00
Patrick Walton
9ce65c08a5
layout: Make the LayoutControlChan
use IPC.
2015-07-14 13:45:52 -07:00
Ms2ger
ce4d442941
Move away from the repeat().take().collect() pattern.
...
This was the preferred pattern between the deprecation of Vec::from_elem and
the addition of the count argument to the vec![] macro.
2015-07-14 16:19:30 +02:00
Simon Sapin
90dbd86ed7
Add a -Z replace-surrogates
command-line option.
...
See #6564 .
2015-07-13 20:41:57 +02:00
bors-servo
c76720d67c
Auto merge of #6570 - Ms2ger:workqueue-sync, r=pcwalton
...
Require that WorkQueue's QueueData is Sync rather than Send.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6570 )
<!-- Reviewable:end -->
2015-07-07 13:07:31 -06:00
Corey Farwell
7159fe749f
Create and utilize utility for joining strs
2015-07-08 05:18:07 +09:00
Ms2ger
028484526d
Require that WorkQueue's QueueData is Sync rather than Send.
2015-07-07 11:11:46 +02:00
Michael Tremel
0833c16b00
Remove unused import.
2015-07-06 21:31:03 -07:00
bors-servo
a3821bf240
Auto merge of #6547 - Ms2ger:workqueue-reference, r=pcwalton
...
Borrow the QueueData for WorkQueue::run.
This allows us to get rid of the raw pointers and unsafe dereferencing in
the parallel layout implementation.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6547 )
<!-- Reviewable:end -->
2015-07-06 08:29:17 -06:00
bors-servo
b876a54dce
Auto merge of #6365 - pcwalton:sequential-display-list-construction, r=larsbergstrom
...
layout: Disable parallel display list building by default.
I've never see it result in a speedup. Actually, I don't think I've seen
it result in anything better than a 50% slowdown. The arithmetic
intensity is just too low, at least with the current algorithm.
Parallel DL building can still be enabled with a debug flag if the
algorithm is improved.
r? @metajack
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6365 )
<!-- Reviewable:end -->
2015-07-06 07:08:58 -06:00
Ms2ger
d4888dbd4d
Fix build warnings.
2015-07-04 14:33:18 +02:00
Ms2ger
24730f1078
Borrow the QueueData for WorkQueue::run.
...
This allows us to get rid of the raw pointers and unsafe dereferencing in
the parallel layout implementation.
2015-07-04 08:55:48 +02:00
bors-servo
d09881b051
Auto merge of #6513 - Ms2ger:workqueue-data, r=pcwalton
...
Remove the data field from WorkQueue.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6513 )
<!-- Reviewable:end -->
2015-07-03 07:22:44 -06:00
bors-servo
59d3b45b74
Auto merge of #6504 - Ms2ger:workqueue-labeled-break, r=pcwalton
...
Move back to using a labeled break in WorkQueue.
This was changed in 18a2050a64
; it appears to
work fine now.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6504 )
<!-- Reviewable:end -->
2015-07-03 06:39:53 -06:00
Matt Brubeck
13072c7b0c
Remove string_cache dependency from util.
...
Move `namespace::from_domstring` from util to script::dom, because it is used
only in that crate.
2015-07-01 10:04:53 -07:00
Matt Brubeck
efa60d3a24
Remove unused dependencies from util
2015-07-01 09:40:33 -07:00
Matt Brubeck
8570b22677
Remove layers dependency from util
2015-07-01 09:40:32 -07:00
Ms2ger
41da4fceee
Remove the data field from WorkQueue.
...
It is only used in the run method.
2015-06-29 15:09:29 +02:00
Ms2ger
b2c226afe6
Move back to using a labeled break in WorkQueue.
...
This was changed in 18a2050a64
; it appears to
work fine now.
2015-06-27 22:10:40 +02:00
Ms2ger
0d0c8f2d42
Use an atomic bool for EXPERIMENTAL_ENABLED.
...
static mut smells, especially as it can be set and read from multiple threads
(for example in unit tests).
2015-06-27 09:06:45 +02:00
Ms2ger
079049cfac
Stop using the deprecated Thunk API.
2015-06-26 22:45:32 +02:00
Ms2ger
d7c0d65cc4
Stop using env::set_exit_code.
2015-06-26 19:46:16 +02:00
Ms2ger
73a7e92bfd
Update to rustc 2d0cbf3e3e25e092bd9e4c94d08e446b680869f0.
2015-06-25 20:02:36 +02:00
ecoal95
8cbfb3482c
Use euclid from crates.io
2015-06-19 00:04:24 +02:00
Simon Sapin
0229de822b
Use string-cache from crates.io
2015-06-16 00:27:50 +02:00
bors-servo
d6263c9b6e
Auto merge of #6306 - metajack:shared-target-dir, r=mbrubeck
...
This speeds up `./mach build --dev` followed by `./mach build-cef` by
25%. When rust-lang/cargo#497 is fixed, this speedup will increase
dramatically.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6306 )
<!-- Reviewable:end -->
2015-06-15 13:08:14 -06:00
Jack Moffitt
a0237085c6
Use Cargo's target directory sharing.
...
This speeds up `./mach build --dev` followed by `./mach build-cef` by a
large amount, and also speeds up other build combos found in our CI.
2015-06-15 11:48:47 -06:00
Corey Farwell
5c408d2be9
rust-geom API changes
...
https://github.com/servo/rust-geom/pull/81
2015-06-13 12:28:21 -07:00
Patrick Walton
eef9c5d9bf
layout: Disable parallel display list building by default.
...
I've never see it result in a speedup. Actually, I don't think I've seen
it result in anything better than a 50% slowdown. The arithmetic
intensity is just too low, at least with the current algorithm.
Parallel DL building can still be enabled with a debug flag if the
algorithm is improved.
2015-06-12 18:03:58 -07:00
bors-servo
f03f584895
Auto merge of #6334 - nnethercote:report-local-contexts, r=pcwalton
...
Passing a function that measures TLS to WorkQueue is a bit weird, but I can't see how else to measure that data.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6334 )
<!-- Reviewable:end -->
2015-06-12 18:42:32 -06:00
bors-servo
9ea50957fc
Auto merge of #6345 - pcwalton:workqueue-arm-optzns, r=glennw
...
Improves scaling on multicore ARM devices.
r? @glennw
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6345 )
<!-- Reviewable:end -->
2015-06-12 07:28:19 -06:00
Patrick Walton
a063fdde73
util: Reduce memory barriers and integer divisions in the work queue.
...
Improves scaling on multicore ARM devices.
2015-06-11 15:07:16 -07: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