aboutsummaryrefslogtreecommitdiff
path: root/src/analyzer.js
diff options
context:
space:
mode:
authorAlon Zakai <azakai@mozilla.com>2011-02-22 20:49:21 -0800
committerAlon Zakai <azakai@mozilla.com>2011-02-22 20:49:21 -0800
commit8d224bc085bbfcf626db8fe1da2a9679d13d96f4 (patch)
treee707275bbff04c84e2560815988a7964976c7538 /src/analyzer.js
parent9efae48667c05a5cd7e699a3a95b7db80539b801 (diff)
optimize type discovery
Diffstat (limited to 'src/analyzer.js')
-rw-r--r--src/analyzer.js21
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);