aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/trace.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/bindings/trace.rs')
-rw-r--r--components/script/dom/bindings/trace.rs35
1 files changed, 11 insertions, 24 deletions
diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs
index 7cbfc19ac44..1ec19ac15bc 100644
--- a/components/script/dom/bindings/trace.rs
+++ b/components/script/dom/bindings/trace.rs
@@ -49,8 +49,8 @@ use hyper::header::Headers;
use hyper::method::Method;
use hyper::mime::Mime;
use ipc_channel::ipc::{IpcReceiver, IpcSender};
-use js::jsapi::JS_CallUnbarrieredObjectTracer;
-use js::jsapi::{GCTraceKindToAscii, Heap, JSGCTraceKind, JSObject, JSTracer, JS_CallObjectTracer, JS_CallValueTracer};
+use js::glue::{CallObjectTracer, CallUnbarrieredObjectTracer, CallValueTracer};
+use js::jsapi::{GCTraceKindToAscii, Heap, TraceKind, JSObject, JSTracer};
use js::jsval::JSVal;
use js::rust::Runtime;
use layout_interface::{LayoutChan, LayoutRPC};
@@ -72,7 +72,6 @@ use smallvec::SmallVec;
use std::boxed::FnBox;
use std::cell::{Cell, UnsafeCell};
use std::collections::{BTreeMap, HashMap, HashSet};
-use std::ffi::CString;
use std::hash::{BuildHasher, Hash};
use std::intrinsics::return_address;
use std::iter::{FromIterator, IntoIterator};
@@ -114,14 +113,10 @@ pub fn trace_jsval(tracer: *mut JSTracer, description: &str, val: &Heap<JSVal>)
return;
}
- let name = CString::new(description).unwrap();
- (*tracer).debugPrinter_ = None;
- (*tracer).debugPrintIndex_ = !0;
- (*tracer).debugPrintArg_ = name.as_ptr() as *const libc::c_void;
debug!("tracing value {}", description);
- JS_CallValueTracer(tracer,
- val.ptr.get() as *mut _,
- GCTraceKindToAscii(val.get().trace_kind()));
+ CallValueTracer(tracer,
+ val.ptr.get() as *mut _,
+ GCTraceKindToAscii(val.get().trace_kind()));
}
}
@@ -129,28 +124,20 @@ pub fn trace_jsval(tracer: *mut JSTracer, description: &str, val: &Heap<JSVal>)
#[allow(unrooted_must_root)]
pub fn trace_reflector(tracer: *mut JSTracer, description: &str, reflector: &Reflector) {
unsafe {
- let name = CString::new(description).unwrap();
- (*tracer).debugPrinter_ = None;
- (*tracer).debugPrintIndex_ = !0;
- (*tracer).debugPrintArg_ = name.as_ptr() as *const libc::c_void;
debug!("tracing reflector {}", description);
- JS_CallUnbarrieredObjectTracer(tracer,
- reflector.rootable(),
- GCTraceKindToAscii(JSGCTraceKind::JSTRACE_OBJECT));
+ CallUnbarrieredObjectTracer(tracer,
+ reflector.rootable(),
+ GCTraceKindToAscii(TraceKind::Object));
}
}
/// Trace a `JSObject`.
pub fn trace_object(tracer: *mut JSTracer, description: &str, obj: &Heap<*mut JSObject>) {
unsafe {
- let name = CString::new(description).unwrap();
- (*tracer).debugPrinter_ = None;
- (*tracer).debugPrintIndex_ = !0;
- (*tracer).debugPrintArg_ = name.as_ptr() as *const libc::c_void;
debug!("tracing {}", description);
- JS_CallObjectTracer(tracer,
- obj.ptr.get() as *mut _,
- GCTraceKindToAscii(JSGCTraceKind::JSTRACE_OBJECT));
+ CallObjectTracer(tracer,
+ obj.ptr.get() as *mut _,
+ GCTraceKindToAscii(TraceKind::Object));
}
}