diff options
author | Alon Zakai <azakai@mozilla.com> | 2011-02-22 20:49:21 -0800 |
---|---|---|
committer | Alon Zakai <azakai@mozilla.com> | 2011-02-22 20:49:21 -0800 |
commit | 8d224bc085bbfcf626db8fe1da2a9679d13d96f4 (patch) | |
tree | e707275bbff04c84e2560815988a7964976c7538 /src/analyzer.js | |
parent | 9efae48667c05a5cd7e699a3a95b7db80539b801 (diff) |
optimize type discovery
Diffstat (limited to 'src/analyzer.js')
-rw-r--r-- | src/analyzer.js | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/src/analyzer.js b/src/analyzer.js index b5ab29d9..66013f26 100644 --- a/src/analyzer.js +++ b/src/analyzer.js @@ -134,22 +134,10 @@ function analyzer(data) { // Typevestigator substrate.addActor('Typevestigator', { processItem: function(data) { - // Find additional types - walkJSON(data, function(item) { - if (!item) return; - if (item.type) { - addType(item.type, data); - } - if (item.type2) { - addType(item.type2, data); - } - if (item.pointerType) { - addType(item.pointerType, data); - } - if (item.valueType) { - addType(item.valueType, data); - } - }); + for (type in Types.needAnalysis) { + if (type) addType(type, data); + } + Types.needAnalysis = []; this.forwardItem(data, 'Typeanalyzer'); } }); @@ -180,7 +168,6 @@ function analyzer(data) { if (type.flatIndexes) return; var ready = true; type.fields.forEach(function(field) { - //print('// zz getT: ' + type.name_ + ' : ' + field); if (isStructType(field)) { if (!Types.types[field]) { addType(field, item); |