1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# Test printing Handles.
assert_subprinter_registered('SpiderMonkey', 'instantiations-of-JS::Rooted')
assert_subprinter_registered('SpiderMonkey', 'instantiations-of-JS::Handle')
assert_subprinter_registered('SpiderMonkey', 'instantiations-of-JS::MutableHandle')
assert_subprinter_registered('SpiderMonkey', 'instantiations-of-js::BarrieredBase')
run_fragment('Root.handle')
assert_pretty('obj', '(JSObject * const) [object global] delegate')
assert_pretty('mutableObj', '(JSObject *) [object global] delegate')
run_fragment('Root.HeapSlot')
# This depends on implementation details of arrays, but since HeapSlot is
# not a public type, I'm not sure how to avoid doing *something* ugly.
assert_pretty('((js::NativeObject *) array.get())->elements_[0]', '$jsval("plinth")')
run_fragment('Root.barriers');
assert_pretty('prebarriered', '(JSObject *) [object Object]');
assert_pretty('heapptr', '(JSObject *) [object Object]');
assert_pretty('relocatable', '(JSObject *) [object Object]');
assert_pretty('val', '$jsval((JSObject *) [object Object])');
assert_pretty('heapValue', '$jsval((JSObject *) [object Object])');
assert_pretty('prebarrieredValue', '$jsval((JSObject *) [object Object])');
assert_pretty('relocatableValue', '$jsval((JSObject *) [object Object])');
|