Switch DOM bindings to using inlined GetObjectSlot

This commit is contained in:
Boris Zbarsky 2012-10-12 01:54:06 -04:00
parent bdf480c185
commit 8391e3b167
3 changed files with 8 additions and 6 deletions

@ -1 +1 @@
Subproject commit a1430323431984d7b3b4795055ef0ad4abbe37f9 Subproject commit 1558022390743fc5d29d43bcacc1aa500a9ff7a1

View file

@ -74,7 +74,7 @@ fn NodeBundle(n: Node, s: NodeScope) -> NodeBundle {
} }
unsafe fn unwrap(obj: *JSObject) -> *rust_box<NodeBundle> { unsafe fn unwrap(obj: *JSObject) -> *rust_box<NodeBundle> {
let val = JS_GetReservedSlot(obj, 0); let val = js::GetReservedSlot(obj, 0);
cast::reinterpret_cast(&JSVAL_TO_PRIVATE(val)) cast::reinterpret_cast(&JSVAL_TO_PRIVATE(val))
} }

View file

@ -1,12 +1,14 @@
var elem = document.documentElement.firstChild; var elem = document.documentElement.firstChild;
var start = (new Date()).getTime(); var start = new Date()
for (var i = 0; i < 1000000; i++) { var count = 1000000;
for (var i = 0; i < count; i++) {
var a = elem.nodeType; var a = elem.nodeType;
} }
window.alert((new Date()).getTime() - start); var stop = new Date()
window.alert((stop - start) / count * 1e6);
/*start = new Date().getTime(); /*start = new Date().getTime();
for (i = 0; i < 10000; i++) for (i = 0; i < 10000; i++)
elem.width = i; elem.width = i;
window.alert(new Date().getTime() - start);*/ window.alert(new Date().getTime() - start);*/