Auto merge of #9728 - nox:lazy-preliminaries, r=Ms2ger

Preliminary commits for lazy interface objects in #9652

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9728)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-02-23 20:13:45 +05:30
commit 3550993075
6 changed files with 100 additions and 129 deletions

View file

@ -1766,25 +1766,29 @@ class CGDOMJSClass(CGThing):
self.descriptor = descriptor self.descriptor = descriptor
def define(self): def define(self):
traceHook = 'Some(%s)' % TRACE_HOOK_NAME args = {
"domClass": DOMClass(self.descriptor),
"finalizeHook": FINALIZE_HOOK_NAME,
"flags": "0",
"name": str_to_const_array(self.descriptor.interface.identifier.name),
"outerObjectHook": self.descriptor.outerObjectHook,
"slots": "1",
"traceHook": TRACE_HOOK_NAME,
}
if self.descriptor.isGlobal(): if self.descriptor.isGlobal():
assert not self.descriptor.weakReferenceable assert not self.descriptor.weakReferenceable
traceHook = "Some(js::jsapi::JS_GlobalObjectTraceHook)" args["flags"] = "JSCLASS_IS_GLOBAL | JSCLASS_DOM_GLOBAL"
flags = "JSCLASS_IS_GLOBAL | JSCLASS_DOM_GLOBAL" args["slots"] = "JSCLASS_GLOBAL_SLOT_COUNT + 1"
slots = "JSCLASS_GLOBAL_SLOT_COUNT + 1" args["traceHook"] = "js::jsapi::JS_GlobalObjectTraceHook"
else: elif self.descriptor.weakReferenceable:
flags = "0" args["slots"] = "2"
if self.descriptor.weakReferenceable:
slots = "2"
else:
slots = "1"
return """\ return """\
static Class: DOMJSClass = DOMJSClass { static Class: DOMJSClass = DOMJSClass {
base: js::jsapi::Class { base: js::jsapi::Class {
name: %s as *const u8 as *const libc::c_char, name: %(name)s as *const u8 as *const libc::c_char,
flags: JSCLASS_IS_DOMJSCLASS | JSCLASS_IMPLEMENTS_BARRIERS | %s | flags: JSCLASS_IS_DOMJSCLASS | JSCLASS_IMPLEMENTS_BARRIERS | %(flags)s |
(((%s) & JSCLASS_RESERVED_SLOTS_MASK) << (((%(slots)s) & JSCLASS_RESERVED_SLOTS_MASK) << JSCLASS_RESERVED_SLOTS_SHIFT)
JSCLASS_RESERVED_SLOTS_SHIFT), //JSCLASS_HAS_RESERVED_SLOTS(%s), /* JSCLASS_HAS_RESERVED_SLOTS(%(slots)s) */,
addProperty: None, addProperty: None,
delProperty: None, delProperty: None,
getProperty: None, getProperty: None,
@ -1792,11 +1796,11 @@ static Class: DOMJSClass = DOMJSClass {
enumerate: None, enumerate: None,
resolve: None, resolve: None,
convert: None, convert: None,
finalize: Some(%s), finalize: Some(%(finalizeHook)s),
call: None, call: None,
hasInstance: None, hasInstance: None,
construct: None, construct: None,
trace: %s, trace: Some(%(traceHook)s),
spec: js::jsapi::ClassSpec { spec: js::jsapi::ClassSpec {
createConstructor: None, createConstructor: None,
@ -1810,7 +1814,7 @@ static Class: DOMJSClass = DOMJSClass {
}, },
ext: js::jsapi::ClassExtension { ext: js::jsapi::ClassExtension {
outerObject: %s, outerObject: %(outerObjectHook)s,
innerObject: None, innerObject: None,
isWrappedNative: false, isWrappedNative: false,
weakmapKeyDelegateOp: None, weakmapKeyDelegateOp: None,
@ -1829,17 +1833,12 @@ static Class: DOMJSClass = DOMJSClass {
unwatch: None, unwatch: None,
getElements: None, getElements: None,
enumerate: None, enumerate: None,
thisObject: %s, thisObject: %(outerObjectHook)s,
funToString: None, funToString: None,
}, },
}, },
dom_class: %s dom_class: %(domClass)s
};""" % (str_to_const_array(self.descriptor.interface.identifier.name), };""" % args
flags, slots, slots,
FINALIZE_HOOK_NAME, traceHook,
self.descriptor.outerObjectHook,
self.descriptor.outerObjectHook,
CGGeneric(DOMClass(self.descriptor)).define())
def str_to_const_array(s): def str_to_const_array(s):
@ -2254,7 +2253,7 @@ assert!(((*JS_GetClass(scope.get())).flags & JSCLASS_IS_GLOBAL) != 0);
let mut proto = RootedObject::new(cx, ptr::null_mut()); let mut proto = RootedObject::new(cx, ptr::null_mut());
let _ac = JSAutoCompartment::new(cx, scope.get()); let _ac = JSAutoCompartment::new(cx, scope.get());
GetProtoObject(cx, scope, scope, proto.handle_mut()); GetProtoObject(cx, scope, proto.handle_mut());
assert!(!proto.ptr.is_null()); assert!(!proto.ptr.is_null());
%(createObject)s %(createObject)s
@ -2271,7 +2270,7 @@ let _ar = JSAutoRequest::new(cx);
let _ac = JSAutoCompartment::new(cx, obj.ptr); let _ac = JSAutoCompartment::new(cx, obj.ptr);
let mut proto = RootedObject::new(cx, ptr::null_mut()); let mut proto = RootedObject::new(cx, ptr::null_mut());
GetProtoObject(cx, obj.handle(), obj.handle(), proto.handle_mut()); GetProtoObject(cx, obj.handle(), proto.handle_mut());
JS_SetPrototype(cx, obj.handle(), proto.handle()); JS_SetPrototype(cx, obj.handle(), proto.handle());
%(copyUnforgeable)s %(copyUnforgeable)s
@ -2376,11 +2375,9 @@ class CGCreateInterfaceObjectsMethod(CGAbstractMethod):
properties should be a PropertyArrays instance. properties should be a PropertyArrays instance.
""" """
def __init__(self, descriptor, properties): def __init__(self, descriptor, properties):
args = [Argument('*mut JSContext', 'cx')] args = [Argument('*mut JSContext', 'cx'), Argument('HandleObject', 'global')]
if not descriptor.interface.isCallback(): if not descriptor.interface.isCallback():
args += [Argument('HandleObject', 'global'), args.append(Argument('*mut ProtoOrIfaceArray', 'cache'))
Argument('*mut ProtoOrIfaceArray', 'cache')]
args.append(Argument('HandleObject', 'receiver'))
CGAbstractMethod.__init__(self, descriptor, 'CreateInterfaceObjects', 'void', args, CGAbstractMethod.__init__(self, descriptor, 'CreateInterfaceObjects', 'void', args,
unsafe=True) unsafe=True)
self.properties = properties self.properties = properties
@ -2390,7 +2387,7 @@ class CGCreateInterfaceObjectsMethod(CGAbstractMethod):
if self.descriptor.interface.isCallback(): if self.descriptor.interface.isCallback():
assert not self.descriptor.interface.ctor() and self.descriptor.interface.hasConstants() assert not self.descriptor.interface.ctor() and self.descriptor.interface.hasConstants()
return CGGeneric("""\ return CGGeneric("""\
create_callback_interface_object(cx, receiver, sConstants, %s);""" % str_to_const_array(name)) create_callback_interface_object(cx, global, sConstants, %s);""" % str_to_const_array(name))
if len(self.descriptor.prototypeChain) == 1: if len(self.descriptor.prototypeChain) == 1:
if self.descriptor.interface.getExtendedAttribute("ExceptionClass"): if self.descriptor.interface.getExtendedAttribute("ExceptionClass"):
@ -2398,7 +2395,7 @@ create_callback_interface_object(cx, receiver, sConstants, %s);""" % str_to_cons
else: else:
getPrototypeProto = "prototype_proto.ptr = JS_GetObjectPrototype(cx, global)" getPrototypeProto = "prototype_proto.ptr = JS_GetObjectPrototype(cx, global)"
else: else:
getPrototypeProto = ("%s::GetProtoObject(cx, global, receiver, prototype_proto.handle_mut())" % getPrototypeProto = ("%s::GetProtoObject(cx, global, prototype_proto.handle_mut())" %
toBindingNamespace(self.descriptor.prototypeChain[-2])) toBindingNamespace(self.descriptor.prototypeChain[-2]))
code = [CGGeneric("""\ code = [CGGeneric("""\
@ -2446,7 +2443,7 @@ if <*mut JSObject>::needs_post_barrier(prototype.ptr) {
parentName = toBindingNamespace(self.descriptor.getParentName()) parentName = toBindingNamespace(self.descriptor.getParentName())
code.append(CGGeneric(""" code.append(CGGeneric("""
let mut interface_proto = RootedObject::new(cx, ptr::null_mut()); let mut interface_proto = RootedObject::new(cx, ptr::null_mut());
%s::GetConstructorObject(cx, global, receiver, interface_proto.handle_mut());""" % parentName)) %s::GetConstructorObject(cx, global, interface_proto.handle_mut());""" % parentName))
else: else:
code.append(CGGeneric(""" code.append(CGGeneric("""
let interface_proto = RootedObject::new(cx, JS_GetFunctionPrototype(cx, global));""")) let interface_proto = RootedObject::new(cx, JS_GetFunctionPrototype(cx, global));"""))
@ -2455,7 +2452,7 @@ assert!(!interface_proto.ptr.is_null());
let mut interface = RootedObject::new(cx, ptr::null_mut()); let mut interface = RootedObject::new(cx, ptr::null_mut());
create_noncallback_interface_object(cx, create_noncallback_interface_object(cx,
receiver, global,
interface_proto.handle(), interface_proto.handle(),
&InterfaceObjectClass, &InterfaceObjectClass,
%(static_methods)s, %(static_methods)s,
@ -2484,7 +2481,7 @@ if <*mut JSObject>::needs_post_barrier(prototype.ptr) {
specs.append(CGGeneric("(%s as NonNullJSNative, %s, %d)" % (hook, name, length))) specs.append(CGGeneric("(%s as NonNullJSNative, %s, %d)" % (hook, name, length)))
values = CGIndenter(CGList(specs, "\n"), 4) values = CGIndenter(CGList(specs, "\n"), 4)
code.append(CGWrapper(values, pre="%s = [\n" % decl, post="\n];")) code.append(CGWrapper(values, pre="%s = [\n" % decl, post="\n];"))
code.append(CGGeneric("create_named_constructors(cx, receiver, &named_constructors, prototype.handle());")) code.append(CGGeneric("create_named_constructors(cx, global, &named_constructors, prototype.handle());"))
if self.descriptor.hasUnforgeableMembers: if self.descriptor.hasUnforgeableMembers:
# We want to use the same JSClass and prototype as the object we'll # We want to use the same JSClass and prototype as the object we'll
@ -2524,8 +2521,8 @@ class CGGetPerInterfaceObject(CGAbstractMethod):
constructor object). constructor object).
""" """
def __init__(self, descriptor, name, idPrefix="", pub=False): def __init__(self, descriptor, name, idPrefix="", pub=False):
args = [Argument('*mut JSContext', 'cx'), Argument('HandleObject', 'global'), args = [Argument('*mut JSContext', 'cx'),
Argument('HandleObject', 'receiver'), Argument('HandleObject', 'global'),
Argument('MutableHandleObject', 'rval')] Argument('MutableHandleObject', 'rval')]
CGAbstractMethod.__init__(self, descriptor, name, CGAbstractMethod.__init__(self, descriptor, name,
'void', args, pub=pub, unsafe=True) 'void', args, pub=pub, unsafe=True)
@ -2533,13 +2530,6 @@ class CGGetPerInterfaceObject(CGAbstractMethod):
def definition_body(self): def definition_body(self):
return CGGeneric(""" return CGGeneric("""
/* global and receiver are usually the same, but they can be different
too. For example a sandbox often has an xray wrapper for a window as the
prototype of the sandbox's global. In that case receiver is the xray
wrapper and global is the sandbox's global.
*/
assert!(((*JS_GetClass(global.get())).flags & JSCLASS_DOM_GLOBAL) != 0); assert!(((*JS_GetClass(global.get())).flags & JSCLASS_DOM_GLOBAL) != 0);
/* Check to see whether the interface objects are already installed */ /* Check to see whether the interface objects are already installed */
@ -2549,7 +2539,7 @@ if !rval.get().is_null() {
return; return;
} }
CreateInterfaceObjects(cx, global, proto_or_iface_array, receiver); CreateInterfaceObjects(cx, global, proto_or_iface_array);
rval.set((*proto_or_iface_array)[%(id)s as usize]); rval.set((*proto_or_iface_array)[%(id)s as usize]);
assert!(!rval.get().is_null()); assert!(!rval.get().is_null());
""" % {"id": self.id}) """ % {"id": self.id})
@ -2671,7 +2661,7 @@ class CGDefineDOMInterfaceMethod(CGAbstractMethod):
else: else:
code = """\ code = """\
let mut proto = RootedObject::new(cx, ptr::null_mut()); let mut proto = RootedObject::new(cx, ptr::null_mut());
GetProtoObject(cx, global, global, proto.handle_mut()); GetProtoObject(cx, global, proto.handle_mut());
assert!(!proto.ptr.is_null()); assert!(!proto.ptr.is_null());
""" """
return CGGeneric("assert!(!global.get().is_null());\n" + code) return CGGeneric("assert!(!global.get().is_null());\n" + code)

View file

@ -13,15 +13,14 @@ use dom::document::Document;
use dom::element::Element; use dom::element::Element;
use dom::window::Window; use dom::window::Window;
use js::JSCLASS_IS_GLOBAL; use js::JSCLASS_IS_GLOBAL;
use js::glue::{CreateWrapperProxyHandler, ProxyTraps, NewWindowProxy}; use js::glue::{CreateWrapperProxyHandler, GetProxyPrivate, NewWindowProxy};
use js::glue::{GetProxyPrivate, SetProxyExtra}; use js::glue::{ProxyTraps, SetProxyExtra};
use js::jsapi::{Handle, JS_ForwardSetPropertyTo, ObjectOpResult, RootedObject, RootedValue}; use js::jsapi::{Handle, HandleId, HandleObject, JSAutoCompartment, JSAutoRequest, JSContext};
use js::jsapi::{HandleId, HandleObject, MutableHandle, MutableHandleValue}; use js::jsapi::{JSErrNum, JSObject, JSPropertyDescriptor, JS_DefinePropertyById6};
use js::jsapi::{JSAutoCompartment, JSAutoRequest, JS_GetClass}; use js::jsapi::{JS_ForwardGetPropertyTo, JS_ForwardSetPropertyTo, JS_GetClass};
use js::jsapi::{JSContext, JSErrNum, JSObject, JSPropertyDescriptor}; use js::jsapi::{JS_GetOwnPropertyDescriptorById, JS_HasPropertyById, MutableHandle};
use js::jsapi::{JS_AlreadyHasOwnPropertyById, JS_ForwardGetPropertyTo}; use js::jsapi::{MutableHandleValue, ObjectOpResult, RootedObject, RootedValue};
use js::jsapi::{JS_DefinePropertyById6, JS_GetOwnPropertyDescriptorById}; use js::jsval::{ObjectValue, PrivateValue, UndefinedValue};
use js::jsval::{ObjectValue, UndefinedValue, PrivateValue};
#[dom_struct] #[dom_struct]
pub struct BrowsingContext { pub struct BrowsingContext {
@ -177,7 +176,7 @@ unsafe extern "C" fn defineProperty(cx: *mut JSContext,
} }
#[allow(unsafe_code)] #[allow(unsafe_code)]
unsafe extern "C" fn hasOwn(cx: *mut JSContext, unsafe extern "C" fn has(cx: *mut JSContext,
proxy: HandleObject, proxy: HandleObject,
id: HandleId, id: HandleId,
bp: *mut bool) bp: *mut bool)
@ -190,7 +189,7 @@ unsafe extern "C" fn hasOwn(cx: *mut JSContext,
let target = RootedObject::new(cx, GetProxyPrivate(*proxy.ptr).to_object()); let target = RootedObject::new(cx, GetProxyPrivate(*proxy.ptr).to_object());
let mut found = false; let mut found = false;
if !JS_AlreadyHasOwnPropertyById(cx, target.handle(), id, &mut found) { if !JS_HasPropertyById(cx, target.handle(), id, &mut found) {
return false; return false;
} }
@ -248,13 +247,13 @@ static PROXY_HANDLER: ProxyTraps = ProxyTraps {
enumerate: None, enumerate: None,
preventExtensions: None, preventExtensions: None,
isExtensible: None, isExtensible: None,
has: None, has: Some(has),
get: Some(get), get: Some(get),
set: Some(set), set: Some(set),
call: None, call: None,
construct: None, construct: None,
getPropertyDescriptor: Some(get_property_descriptor), getPropertyDescriptor: Some(get_property_descriptor),
hasOwn: Some(hasOwn), hasOwn: None,
getOwnEnumerablePropertyKeys: None, getOwnEnumerablePropertyKeys: None,
nativeCall: None, nativeCall: None,
hasInstance: None, hasInstance: None,

View file

@ -366,11 +366,6 @@ dependencies = [
"serde_macros 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]]
name = "debug-builders"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]] [[package]]
name = "debug_unreachable" name = "debug_unreachable"
version = "0.0.6" version = "0.0.6"
@ -845,8 +840,8 @@ dependencies = [
"heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"phf 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_codegen 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
"tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1400,34 +1395,33 @@ dependencies = [
[[package]] [[package]]
name = "phf" name = "phf"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"debug-builders 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_codegen" name = "phf_codegen"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"phf_generator 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_generator 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_generator" name = "phf_generator"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_shared" name = "phf_shared"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]] [[package]]
@ -1867,8 +1861,8 @@ dependencies = [
"heapsize 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_generator 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_generator 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
@ -2314,8 +2308,8 @@ source = "git+https://github.com/Ygg01/xml5ever#6c7017063dc1cfd64f08b7701a689e74
dependencies = [ dependencies = [
"log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"phf 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_codegen 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
"tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",

34
ports/cef/Cargo.lock generated
View file

@ -338,11 +338,6 @@ dependencies = [
"serde_macros 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]]
name = "debug-builders"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]] [[package]]
name = "debug_unreachable" name = "debug_unreachable"
version = "0.0.6" version = "0.0.6"
@ -775,8 +770,8 @@ dependencies = [
"heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"phf 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_codegen 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
"tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1304,34 +1299,33 @@ dependencies = [
[[package]] [[package]]
name = "phf" name = "phf"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"debug-builders 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_codegen" name = "phf_codegen"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"phf_generator 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_generator 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_generator" name = "phf_generator"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_shared" name = "phf_shared"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]] [[package]]
@ -1781,8 +1775,8 @@ dependencies = [
"heapsize 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_generator 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_generator 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
@ -2200,8 +2194,8 @@ source = "git+https://github.com/Ygg01/xml5ever#6c7017063dc1cfd64f08b7701a689e74
dependencies = [ dependencies = [
"log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"phf 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_codegen 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
"tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",

View file

@ -269,16 +269,16 @@ dependencies = [
[[package]] [[package]]
name = "phf_generator" name = "phf_generator"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_shared" name = "phf_shared"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]] [[package]]
@ -406,8 +406,8 @@ dependencies = [
"heapsize 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_generator 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_generator 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)",
] ]

34
ports/gonk/Cargo.lock generated
View file

@ -330,11 +330,6 @@ dependencies = [
"serde_macros 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]]
name = "debug-builders"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]] [[package]]
name = "debug_unreachable" name = "debug_unreachable"
version = "0.0.6" version = "0.0.6"
@ -756,8 +751,8 @@ dependencies = [
"heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"phf 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_codegen 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
"tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1285,34 +1280,33 @@ dependencies = [
[[package]] [[package]]
name = "phf" name = "phf"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"debug-builders 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_codegen" name = "phf_codegen"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"phf_generator 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_generator 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_generator" name = "phf_generator"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "phf_shared" name = "phf_shared"
version = "0.7.5" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]] [[package]]
@ -1760,8 +1754,8 @@ dependencies = [
"heapsize 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_generator 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_generator 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_shared 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
@ -2148,8 +2142,8 @@ source = "git+https://github.com/Ygg01/xml5ever#6c7017063dc1cfd64f08b7701a689e74
dependencies = [ dependencies = [
"log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"phf 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_codegen 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.12 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
"tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",