diff --git a/site/source/docs/api_reference/preamble.js.rst b/site/source/docs/api_reference/preamble.js.rst
index eeb8249ed768c..f81065f8863d0 100644
--- a/site/source/docs/api_reference/preamble.js.rst
+++ b/site/source/docs/api_reference/preamble.js.rst
@@ -369,7 +369,6 @@ The :ref:`emscripten-memory-model` uses a typed array buffer (``ArrayBuffer``) t
Module['HEAP'] = HEAP;
Module['IHEAP'] = IHEAP;
function demangle(func)
- function demangleAll(text)
function parseJSFunc(jsfunc)
function callRuntimeCallbacks(callbacks)
function preRun()
diff --git a/site/source/docs/tools_reference/settings_reference.rst b/site/source/docs/tools_reference/settings_reference.rst
index eb9fc5ba9694d..1c1048be5f9d9 100644
--- a/site/source/docs/tools_reference/settings_reference.rst
+++ b/site/source/docs/tools_reference/settings_reference.rst
@@ -409,8 +409,7 @@ Print out exceptions in emscriptened code.
DEMANGLE_SUPPORT
================
-If 1, build in libcxxabi's full c++ demangling code, to allow stackTrace()
-to emit fully proper demangled c++ names
+If 1, export `demangle` and `stackTrace` helper function.
.. _library_debug:
diff --git a/src/library_fs.js b/src/library_fs.js
index 3b9a29b31d86d..cca4d14a84550 100644
--- a/src/library_fs.js
+++ b/src/library_fs.js
@@ -29,9 +29,6 @@ addToLibrary({
#endif
#if ASSERTIONS
'$ERRNO_MESSAGES', '$ERRNO_CODES',
-#endif
-#if ASSERTIONS && !MINIMAL_RUNTIME
- '$demangleAll',
#endif
],
$FS__postset: function() {
@@ -1441,7 +1438,6 @@ FS.staticInit();` +
if (this.stack) {
// Define the stack property for Node.js 4, which otherwise errors on the next line.
Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true });
- this.stack = demangleAll(this.stack);
}
#endif // ASSERTIONS
};
diff --git a/src/library_stack_trace.js b/src/library_stack_trace.js
index d3a626c24077e..90685b9dcb9c4 100644
--- a/src/library_stack_trace.js
+++ b/src/library_stack_trace.js
@@ -42,17 +42,6 @@ var LibraryStackTrace = {
#endif // DEMANGLE_SUPPORT
},
- $demangleAll__deps: ['$demangle'],
- $demangleAll: (text) => {
- var regex =
- /\b_Z[\w\d_]+/g;
- return text.replace(regex,
- function(x) {
- var y = demangle(x);
- return x === y ? x : (y + ' [' + x + ']');
- });
- },
-
$jsStackTrace: function() {
var error = new Error();
if (!error.stack) {
@@ -70,11 +59,11 @@ var LibraryStackTrace = {
return error.stack.toString();
},
- $stackTrace__deps: ['$jsStackTrace', '$demangleAll'],
+ $stackTrace__deps: ['$jsStackTrace'],
$stackTrace: function() {
var js = jsStackTrace();
if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
- return demangleAll(js);
+ return js;
}
}
diff --git a/src/memoryprofiler.js b/src/memoryprofiler.js
index d42cbeaabbc08..50a097ce5dc7c 100644
--- a/src/memoryprofiler.js
+++ b/src/memoryprofiler.js
@@ -434,7 +434,6 @@ var emscriptenMemoryProfiler = {
},
printHeapResizeLog(heapResizes) {
- var demangler = typeof demangleAll != 'undefined' ? demangleAll : (x) => x;
var html = '';
for (var i = 0; i < heapResizes.length; ++i) {
var j = i+1;
@@ -448,7 +447,7 @@ var emscriptenMemoryProfiler = {
var resizeFirst = heapResizes[i];
var resizeLast = heapResizes[j-1];
var count = j - i;
- html += '
' + resizeFirst.begin + '-' + resizeLast.end + ' (' + count + ' times, ' + emscriptenMemoryProfiler.formatBytes(resizeLast.end-resizeFirst.begin) + '):' + demangler(resizeFirst.filteredStack || resizeFirst.stack) + '
';
+ html += '' + resizeFirst.begin + '-' + resizeLast.end + ' (' + count + ' times, ' + emscriptenMemoryProfiler.formatBytes(resizeLast.end-resizeFirst.begin) + '):' + (resizeFirst.filteredStack || resizeFirst.stack) + '
';
i = j-1;
}
return html;
@@ -599,7 +598,6 @@ var emscriptenMemoryProfiler = {
html += self.printHeapResizeLog(self.sbrkSources);
html += ''
} else {
- var demangler = typeof demangleAll != 'undefined' ? demangleAll : (x) => x;
// Print out statistics of individual allocations if they were tracked.
if (Object.keys(self.allocationsAtLoc).length > 0) {
var calls = [];
@@ -615,8 +613,7 @@ var emscriptenMemoryProfiler = {
}
html += 'Allocation sites with more than ' + self.formatBytes(self.trackedCallstackMinSizeBytes) + ' of accumulated allocations, or more than ' + self.trackedCallstackMinAllocCount + ' simultaneously outstanding allocations:
'
for (var i in calls) {
- if (calls[i].length == 3) calls[i] = [calls[i][0], calls[i][1], calls[i][2], demangler(calls[i][2])];
- html += "" + self.formatBytes(calls[i][1]) + '/' + calls[i][0] + " allocs: " + calls[i][3] + "
";
+ html += "" + self.formatBytes(calls[i][1]) + '/' + calls[i][0] + " allocs: " + calls[i][2] + "
";
}
}
}
diff --git a/src/settings.js b/src/settings.js
index 2ff477dba4f9a..bb417e8cc564e 100644
--- a/src/settings.js
+++ b/src/settings.js
@@ -337,8 +337,7 @@ var EMULATE_FUNCTION_POINTER_CASTS = false;
// [link]
var EXCEPTION_DEBUG = false;
-// If 1, build in libcxxabi's full c++ demangling code, to allow stackTrace()
-// to emit fully proper demangled c++ names
+// If 1, export `demangle` and `stackTrace` helper function.
// [link]
var DEMANGLE_SUPPORT = false;
diff --git a/test/other/metadce/test_metadce_hello_O0.gzsize b/test/other/metadce/test_metadce_hello_O0.gzsize
index e733a2b81273c..b2fd8c7b992c7 100644
--- a/test/other/metadce/test_metadce_hello_O0.gzsize
+++ b/test/other/metadce/test_metadce_hello_O0.gzsize
@@ -1 +1 @@
-8412
+8408
diff --git a/test/other/metadce/test_metadce_hello_O0.jssize b/test/other/metadce/test_metadce_hello_O0.jssize
index 682f073dce810..196a2ed28ef96 100644
--- a/test/other/metadce/test_metadce_hello_O0.jssize
+++ b/test/other/metadce/test_metadce_hello_O0.jssize
@@ -1 +1 @@
-23081
+23069
diff --git a/test/other/metadce/test_metadce_minimal_O0.gzsize b/test/other/metadce/test_metadce_minimal_O0.gzsize
index 7b5514dfe63ca..41c0d18a4ea13 100644
--- a/test/other/metadce/test_metadce_minimal_O0.gzsize
+++ b/test/other/metadce/test_metadce_minimal_O0.gzsize
@@ -1 +1 @@
-7242
+7238
diff --git a/test/other/metadce/test_metadce_minimal_O0.jssize b/test/other/metadce/test_metadce_minimal_O0.jssize
index 0677ec7a1898e..3f9f9db246a6d 100644
--- a/test/other/metadce/test_metadce_minimal_O0.jssize
+++ b/test/other/metadce/test_metadce_minimal_O0.jssize
@@ -1 +1 @@
-19705
+19693
diff --git a/test/other/test_unoptimized_code_size.js.size b/test/other/test_unoptimized_code_size.js.size
index 6e433447912aa..3db2f751a8181 100644
--- a/test/other/test_unoptimized_code_size.js.size
+++ b/test/other/test_unoptimized_code_size.js.size
@@ -1 +1 @@
-58257
+58240
diff --git a/test/other/test_unoptimized_code_size_strict.js.size b/test/other/test_unoptimized_code_size_strict.js.size
index b682bc621a1bd..910c315eba6b4 100644
--- a/test/other/test_unoptimized_code_size_strict.js.size
+++ b/test/other/test_unoptimized_code_size_strict.js.size
@@ -1 +1 @@
-57099
+57082