Commit graph

132 commits

Author SHA1 Message Date
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
Manish Goregaokar
521d8bc32e Make enum/fn part of unrooted_must_root handle type parameters 2015-07-22 10:44:26 +05:30
Manish Goregaokar
511e3337fb Fix rooting in script 2015-07-22 00:00:15 +05:30
Manish Goregaokar
f6f0a7e4aa Make stmt part of unrooted_must_root handle type parameters (fixes #6651) 2015-07-22 00:00:14 +05:30
David Winslow
4cf46bff2d Refactor #[jstraceable] to #[derive(JSTraceable)]
fixes #6524
2015-07-01 18:27:06 -04:00
Michael Wu
b7301ca06c Fix some warnings caused by the SM upgrade 2015-06-19 22:07:08 -04:00
Michael Wu
675267b782 Upgrade to SM 39 2015-06-19 18:42:48 -04:00
Simon Sapin
ef8edd4e87 Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
Ms2ger
b59f54ce81 Add a Reflectable bound to Root's type parameter. 2015-05-01 21:19:37 +02:00
Ms2ger
903305416a Implement Clone for Copy types. 2015-04-28 23:31:10 +02:00
Anthony Ramine
1a30925cad Remove Temporary::new()
Temporary::from_rooted() now takes an Assignable value.
2015-04-28 09:22:46 +02:00
Anthony Ramine
2770886196 Remove unrooted() methods 2015-04-28 09:22:45 +02:00
Anthony Ramine
af21229c0e Remove the Comparable trait 2015-04-28 09:22:45 +02:00
Anthony Ramine
7197052c0d Uniformise root() methods
They now live in traits Rootable, OptionalOptionalRootable, OptionalRootable
and ResultRootable.
2015-04-28 09:22:45 +02:00
Manish Goregaokar
369a568264 Make RootedVec/RootCollection #[no_move]; improve code (fixes #5737) 2015-04-28 04:35:58 +05:30
Manish Goregaokar
63714ebc5f Add the rust-tenacious move-protection lint, use it for Root<T> (fixes #5724) 2015-04-28 04:20:40 +05:30
Anthony Ramine
afafde5191 Change MutNullableJS<T> to MutNullableHeap<JS<T>> 2015-04-27 10:45:38 +02:00
Anthony Ramine
4e7b9d319c Remove useless unsafe methods on LayoutJS<T> 2015-04-26 21:39:11 +02:00
Anthony Ramine
9369b616ce Remove useless unsafe methods on JS<T> 2015-04-26 21:39:09 +02:00
bors-servo
2089c1f285 Auto merge of #5550 - aneeshusa:fix-issue-5540, r=jdm
Fixes issue #5540.

As far as I can tell this is all that's necessary, but I'm new to Rust, so let me know if I missed something!
2015-04-07 23:04:12 -05:00
Aneesh Agrawal
04468a53df Don't consume self when calling root on a Temporary<T>.
Fixes issue #5540.
2015-04-06 18:57:06 -04:00
Jag Talon
6e013d3c9c RootCollection: Start using RootedVec instead of SmallVec32.
dom/bindings/js.rs: Alphabetize `use`.

dom/bindings/js.rs: moved `unsafe` block to a let binding.

dom/bindings/trace.rs: rename alternate constructor of RootedVec.

dom/bindings/trace.rs: `new()` is now using `new_with_destination_address()` internally.

dom/bindings/js.rs: alphabetize imports.
2015-04-06 16:36:10 -04:00
bors-servo
85808c1cdd auto merge of #5425 : pcwalton/servo/optimize-rooting, r=Ms2ger
This was showing up very high in instruction-level profiling.

r? @jdm
2015-04-02 10:51:40 -06:00
Patrick Walton
d1c13faf4b script: Optimize JS rooting to not move the entire Root struct from
the stack to the return out-pointer.

This was showing up very high in instruction-level profiling.
2015-04-02 09:03:45 -07:00
Ms2ger
bc8ed81dc1 Use a larger small vector. 2015-04-02 09:47:30 +02:00
bors-servo
52cc63a262 auto merge of #5166 : JIoJIaJIu/servo/gc, r=jdm 2015-03-31 09:24:58 -06:00
Josh Matthews
48b151948f Fix double-panic when the script task panics. 2015-03-23 19:19:18 +01:00
Ms2ger
5f15eb5fbf Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-dev. 2015-03-18 13:18:31 -04:00
Guro Bokum
8de3c01fe4 RootCollection doesn't check if its SmallVec has spilled #5037 2015-03-13 15:43:11 +07:00
Keith Yeung
a07a0cf39f Added type parameter to PartialEq on JSRef (fixes #5112, #3960) 2015-03-03 11:46:13 +08:00
Ms2ger
601e80fa43 Simplify RootCollection::unroot a bit. 2015-02-23 22:46:41 +01:00
Ms2ger
6d30ec77c8 Replace uint/int by usize/isize in various places. 2015-02-20 14:45:47 +01:00
Ms2ger
7b1b030f8a Remove MutNullableJS::get_inner.
There should be no reason to call this.
2015-02-12 20:59:22 +01:00
Ms2ger
b3f93b25a5 Remove JS::unsafe_get.
The codegen users already migrated to Unrooted, and the layout users are
better off using LayoutJS.
2015-02-12 20:59:22 +01:00
Ms2ger
8ab7d37ef2 Add Unrooted::from_js.
There should not be a JS here; that is #2661. Until that's fixed, though,
it's better to encapsulate it.
2015-02-12 20:59:22 +01:00
Ms2ger
37584ab056 Improve documentation for MutHeap and RootCollection. 2015-02-10 12:52:52 +01:00
Ms2ger
84425bf4d7 Improve the documentation in js.rs. 2015-02-10 11:09:41 +01:00
Ms2ger
1d3cd4c34d Rewrap the documentation in js.rs to 80 columns for readability. 2015-02-10 09:43:19 +01:00
Ms2ger
147dadce89 Implement an Unrooted smart pointer to replace JS when it is not traced. 2015-02-06 12:33:32 +01:00
Ms2ger
4036206734 Remove the Root.jsref member.
It is simpler to just construct it when the methods are called.
2015-02-05 18:45:21 +01:00
Ms2ger
d8c2c88bbd Replace Root::deref by a custom get_unsound_ref_forever method.
This will hopefully make it clearer that this is not the correct function
to call.
2015-02-05 18:45:20 +01:00
Ms2ger
eb5759774c Remove JS::from_trusted_node_address. 2015-02-03 16:04:47 +01:00
Tetsuharu OHZEKI
2cca095481 Add LayoutJS<T: Reflectable>.get_jsobject(). 2015-02-01 01:54:38 +09:00
Tetsuharu OHZEKI
b7443bef83 Remove JS<From>.transmute<To>(). 2015-02-01 01:54:38 +09:00
Tetsuharu OHZEKI
9f57fa17d0 Add LayoutJS<Node>::from_trusted_node_address() 2015-02-01 01:54:38 +09:00
Tetsuharu OHZEKI
8889041c19 Use BarCast::to_layout_js() instead of LayoutJS.to_script(). 2015-02-01 01:54:37 +09:00
Tetsuharu OHZEKI
6b1e2bd11c Use LayoutJS<T> in layout crate. 2015-02-01 01:54:37 +09:00
Tetsuharu OHZEKI
a5d7240534 Introduce LayoutJS<T> 2015-02-01 01:50:16 +09:00
Ms2ger
5225442dc1 Use NonZero to reduce the size of DOM smart pointers (fixes #4502). 2015-01-30 22:18:22 +01:00
Ms2ger
505159a464 Import the util crate as util rather than servo_util.
This used to conflict with the util crate from the standard library, which
has long since been removed.

The import in layout has not been changed because of a conflict with the
util mod there.
2015-01-29 12:16:41 +01:00