diff options
author | Josh Matthews <josh@joshmatthews.net> | 2017-05-26 10:47:09 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2017-09-25 16:11:49 -0400 |
commit | 77b3e911c11b2472efa4d7aea944f6aee56171c4 (patch) | |
tree | 047f2644b86ad2a9d68de87aba3fc326350aebd3 | |
parent | f5eb8445b05d892b432d769f5e036f786e223fd4 (diff) | |
download | servo-77b3e911c11b2472efa4d7aea944f6aee56171c4.tar.gz servo-77b3e911c11b2472efa4d7aea944f6aee56171c4.zip |
Remove almost all uses of Heap::new.
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 10 | ||||
-rw-r--r-- | components/script/dom/bindings/iterable.rs | 5 | ||||
-rw-r--r-- | components/script/dom/filereader.rs | 5 | ||||
-rw-r--r-- | components/script/dom/testbinding.rs | 6 |
4 files changed, 17 insertions, 9 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 05db89f3766..30d847da19f 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -6699,7 +6699,7 @@ class CallbackMember(CGNativeMember): replacements["argCount"] = self.argCountStr replacements["argvDecl"] = string.Template( "rooted_vec!(let mut argv);\n" - "argv.extend((0..${argCount}).map(|_| Heap::new(UndefinedValue())));\n" + "argv.extend((0..${argCount}).map(|_| Heap::default()));\n" ).substitute(replacements) else: # Avoid weird 0-sized arrays @@ -6774,7 +6774,11 @@ class CallbackMember(CGNativeMember): conversion = wrapForType( "argv_root.handle_mut()", result=argval, - successCode="argv[%s] = Heap::new(argv_root.get());" % jsvalIndex, + successCode=("{\n" + + "let arg = &mut argv[%s];\n" + + "*arg = Heap::default();\n" + + "arg.set(argv_root.get());\n" + + "}") % jsvalIndex, pre="rooted!(in(cx) let mut argv_root = UndefinedValue());") if arg.variadic: conversion = string.Template( @@ -6790,7 +6794,7 @@ class CallbackMember(CGNativeMember): " // This is our current trailing argument; reduce argc\n" " argc -= 1;\n" "} else {\n" - " argv[%d] = Heap::new(UndefinedValue());\n" + " argv[%d] = Heap::default();\n" "}" % (i + 1, i)) return conversion diff --git a/components/script/dom/bindings/iterable.rs b/components/script/dom/bindings/iterable.rs index 03fac1cb27f..7926ff54173 100644 --- a/components/script/dom/bindings/iterable.rs +++ b/components/script/dom/bindings/iterable.rs @@ -132,7 +132,10 @@ fn key_and_value_return(cx: *mut JSContext, value: HandleValue) -> Fallible<()> { let mut dict = unsafe { IterableKeyAndValueResult::empty(cx) }; dict.done = false; - dict.value = Some(vec![Heap::new(key.get()), Heap::new(value.get())]); + let values = vec![Heap::default(), Heap::default()]; + values[0].set(key.get()); + values[1].set(value.get()); + dict.value = Some(values); rooted!(in(cx) let mut dict_value = UndefinedValue()); unsafe { dict.to_jsval(cx, dict_value.handle_mut()); diff --git a/components/script/dom/filereader.rs b/components/script/dom/filereader.rs index 370643bfa44..355cd85bcd4 100644 --- a/components/script/dom/filereader.rs +++ b/components/script/dom/filereader.rs @@ -339,8 +339,9 @@ impl FileReaderMethods for FileReader { FileReaderResult::String(ref string) => StringOrObject::String(string.clone()), FileReaderResult::ArrayBuffer(ref arr_buffer) => { - StringOrObject::Object(RootedTraceableBox::new( - Heap::new((*arr_buffer.ptr.get()).to_object()))) + let result = RootedTraceableBox::new(Heap::default()); + result.set((*arr_buffer.ptr.get()).to_object()); + StringOrObject::Object(result) } }) } diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs index 1803403f72f..22f8066d24a 100644 --- a/components/script/dom/testbinding.rs +++ b/components/script/dom/testbinding.rs @@ -340,12 +340,12 @@ impl TestBindingMethods for TestBinding { fn ReceiveNullableSequence(&self) -> Option<Vec<i32>> { Some(vec![1]) } fn ReceiveTestDictionaryWithSuccessOnKeyword(&self) -> RootedTraceableBox<TestDictionary> { RootedTraceableBox::new(TestDictionary { - anyValue: Heap::new(NullValue()), + anyValue: Heap::default(), booleanValue: None, byteValue: None, dict: RootedTraceableBox::new(TestDictionaryDefaults { UnrestrictedDoubleValue: 0.0, - anyValue: Heap::new(NullValue()), + anyValue: Heap::default(), booleanValue: false, bytestringValue: ByteString::new(vec![]), byteValue: 0, @@ -361,7 +361,7 @@ impl TestBindingMethods for TestBinding { nullableFloatValue: None, nullableLongLongValue: None, nullableLongValue: None, - nullableObjectValue: Heap::new(ptr::null_mut()), + nullableObjectValue: Heap::default(), nullableOctetValue: None, nullableShortValue: None, nullableStringValue: None, |