diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-04-09 00:48:19 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-05-03 18:36:11 +0200 |
commit | eb94f1a9182c369165ddbf040fcb97c408482689 (patch) | |
tree | 80ac2d439c9e76a8163b001700f1f91f248e0ba8 /components/script/dom/bindings/trace.rs | |
parent | d32648172c711b5d95819c58bcedcee5f50f3018 (diff) | |
download | servo-eb94f1a9182c369165ddbf040fcb97c408482689.tar.gz servo-eb94f1a9182c369165ddbf040fcb97c408482689.zip |
Update SpiderMonkey
Diffstat (limited to 'components/script/dom/bindings/trace.rs')
-rw-r--r-- | components/script/dom/bindings/trace.rs | 35 |
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)); } } |