mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 03:05:34 +00:00
Bug 1259850 - Remove unused test files, r=terrence
MozReview-Commit-ID: sBZct85zDJ --HG-- extra : rebase_source : 5c41e5fee58035cb8e7862addc6daae7a782e884 extra : source : 19c13aa9b5ada4d1284a09d8284b3231e0790ebe
This commit is contained in:
parent
81c295d72d
commit
346b589e90
@ -1,70 +0,0 @@
|
||||
#define ANNOTATE(property) __attribute__((tag(property)))
|
||||
|
||||
namespace js {
|
||||
namespace gc {
|
||||
struct Cell { int f; } ANNOTATE("GC Thing");
|
||||
}
|
||||
}
|
||||
|
||||
struct Bogon {
|
||||
};
|
||||
|
||||
struct JustACell : public js::gc::Cell {
|
||||
bool iHaveNoDataMembers() { return true; }
|
||||
};
|
||||
|
||||
struct JSObject : public js::gc::Cell, public Bogon {
|
||||
int g;
|
||||
};
|
||||
|
||||
struct SpecialObject : public JSObject {
|
||||
int z;
|
||||
};
|
||||
|
||||
struct ErrorResult {
|
||||
bool hasObj;
|
||||
JSObject *obj;
|
||||
void trace() {}
|
||||
} ANNOTATE("Suppressed GC Pointer");
|
||||
|
||||
struct OkContainer {
|
||||
ErrorResult res;
|
||||
bool happy;
|
||||
};
|
||||
|
||||
struct UnrootedPointer {
|
||||
JSObject *obj;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
class Rooted {
|
||||
T data;
|
||||
} ANNOTATE("Rooted Pointer");
|
||||
|
||||
extern void js_GC() ANNOTATE("GC Call") ANNOTATE("Slow");
|
||||
|
||||
void js_GC() {}
|
||||
|
||||
void root_arg(JSObject *obj, JSObject *random)
|
||||
{
|
||||
// Use all these types so they get included in the output.
|
||||
SpecialObject so;
|
||||
UnrootedPointer up;
|
||||
Bogon b;
|
||||
OkContainer okc;
|
||||
Rooted<JSObject*> ro;
|
||||
Rooted<SpecialObject*> rso;
|
||||
|
||||
obj = random;
|
||||
|
||||
JSObject *other1 = obj;
|
||||
js_GC();
|
||||
|
||||
float MARKER1 = 0;
|
||||
JSObject *other2 = obj;
|
||||
other1->f = 1;
|
||||
other2->f = -1;
|
||||
|
||||
unsigned int u1 = 1;
|
||||
unsigned int u2 = -1;
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
compile("source.cpp")
|
||||
computeGCTypes()
|
||||
body = process_body(load_db_entry("src_body", re.compile(r'root_arg'))[0])
|
||||
|
||||
# Rendering positive and negative integers
|
||||
marker1 = body.assignment_line('MARKER1')
|
||||
equal(body.edge_from_line(marker1 + 2)['Exp'][1]['String'], '1')
|
||||
equal(body.edge_from_line(marker1 + 3)['Exp'][1]['String'], '-1')
|
||||
|
||||
equal(body.edge_from_point(body.assignment_point('u1'))['Exp'][1]['String'], '1')
|
||||
equal(body.edge_from_point(body.assignment_point('u2'))['Exp'][1]['String'], '4294967295')
|
||||
|
||||
assert('obj' in body['Variables'])
|
||||
assert('random' in body['Variables'])
|
||||
assert('other1' in body['Variables'])
|
||||
assert('other2' in body['Variables'])
|
||||
|
||||
# Test function annotations
|
||||
js_GC = process_body(load_db_entry("src_body", re.compile(r'js_GC'))[0])
|
||||
annotations = js_GC['Variables']['void js_GC()']['Annotation']
|
||||
assert(annotations)
|
||||
found_call_tag = False
|
||||
for annotation in annotations:
|
||||
(annType, value) = annotation['Name']
|
||||
if annType == 'Tag' and value == 'GC Call':
|
||||
found_call_tag = True
|
||||
assert(found_call_tag)
|
||||
|
||||
# Test type annotations
|
||||
|
||||
# js::gc::Cell first
|
||||
cell = load_db_entry("src_comp", 'js::gc::Cell')[0]
|
||||
assert(cell['Kind'] == 'Struct')
|
||||
annotations = cell['Annotation']
|
||||
assert(len(annotations) == 1)
|
||||
(tag, value) = annotations[0]['Name']
|
||||
assert(tag == 'Tag')
|
||||
assert(value == 'GC Thing')
|
||||
|
||||
# Check JSObject inheritance.
|
||||
JSObject = load_db_entry("src_comp", 'JSObject')[0]
|
||||
bases = [ b['Base'] for b in JSObject['CSUBaseClass'] ]
|
||||
assert('js::gc::Cell' in bases)
|
||||
assert('Bogon' in bases)
|
||||
assert(len(bases) == 2)
|
||||
|
||||
# Check type analysis
|
||||
gctypes = loadGCTypes()
|
||||
assert('js::gc::Cell' in gctypes['GCThings'])
|
||||
assert('JustACell' in gctypes['GCThings'])
|
||||
assert('JSObject' in gctypes['GCThings'])
|
||||
assert('SpecialObject' in gctypes['GCThings'])
|
||||
assert('UnrootedPointer' in gctypes['GCPointers'])
|
||||
assert('Bogon' not in gctypes['GCThings'])
|
||||
assert('Bogon' not in gctypes['GCPointers'])
|
||||
assert('ErrorResult' not in gctypes['GCPointers'])
|
||||
assert('OkContainer' not in gctypes['GCPointers'])
|
||||
assert('class Rooted<JSObject*>' not in gctypes['GCPointers'])
|
Loading…
Reference in New Issue
Block a user