aboutsummaryrefslogtreecommitdiff
path: root/src/jsifier.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/jsifier.js')
-rw-r--r--src/jsifier.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/jsifier.js b/src/jsifier.js
index 91cfbe6a..d8ed589e 100644
--- a/src/jsifier.js
+++ b/src/jsifier.js
@@ -300,6 +300,7 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) {
substrate.addActor('FunctionStub', {
processItem: function(item) {
var ret = [item];
+ if (IGNORED_FUNCTIONS.indexOf(item.ident) >= 0) return null;
var shortident = item.ident.substr(1);
if (BUILD_AS_SHARED_LIB) {
// Shared libraries reuse the runtime of their parents.
@@ -433,6 +434,8 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) {
// We have this function all reconstructed, go and finalize it's JS!
+ if (IGNORED_FUNCTIONS.indexOf(func.ident) >= 0) return null;
+
func.JS = '\nfunction ' + func.ident + '(' + func.paramIdents.join(', ') + ') {\n';
if (PROFILE) {
@@ -929,7 +932,14 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) {
}
generated = generated.concat(itemsDict.function).concat(data.unparsedFunctions);
- if (!mainPass) return generated.map(function(item) { return item.JS }).join('\n');
+ if (!mainPass) {
+ Functions.allIdents = Functions.allIdents.concat(itemsDict.function.map(function(func) {
+ return func.ident;
+ }).filter(function(func) {
+ return IGNORED_FUNCTIONS.indexOf(func.ident) < 0;
+ }));
+ return generated.map(function(item) { return item.JS }).join('\n');
+ }
// We are ready to print out the data, but must do so carefully - we are
// dealing with potentially *huge* strings. Convenient replacements and
@@ -965,6 +975,8 @@ function JSify(data, functionsOnly, givenFunctions, givenGlobalVariables) {
print(Functions.generateIndexing()); // done last, as it may rely on aliases set in postsets
print(postParts[1]);
print(shellParts[1]);
+ // Print out some useful metadata (for additional optimizations later, like the eliminator)
+ print('// EMSCRIPTEN_GENERATED_FUNCTIONS: ' + JSON.stringify(Functions.allIdents) + '\n');
return null;
}