Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Issue 102883003: Don't ship a full C++ demangler as part of libc++abi (Closed)

Created:
7 years ago by JF
Modified:
7 years ago
CC:
native-client-reviews_googlegroups.com
Base URL:
http://git.chromium.org/native_client/pnacl-libcxxabi.git@master
Visibility:
Public.

Description

Don't ship a full C++ demangler as part of libc++abi The demangler is *huge* and only used in default_terminate_handler with a fallback to printing mangled names instead. pexe size matters a lot, so PNaCl only prints out mangled names when exceptions are uncaught. R=jvoung@chromium.org, dschuff@chromium.org BUG= https://code.google.com/p/nativeclient/issues/detail?id=3623 Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-libcxxabi.git;a=commit;h=8ffb0bd

Patch Set 1 #

Total comments: 2

Patch Set 2 : Fix to return type and check for null status, and leave some preliminary tests in. #

Patch Set 3 : Copy/paste fail. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+13 lines, -0 lines) Patch
M src/cxa_demangle.cpp View 1 2 2 chunks +13 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
JF
7 years ago (2013-12-04 01:15:03 UTC) #1
JF
Here are some gorry numbers on the life test from llvm-testsuite: Size of ./pnacl/build/c++-stdlib-newlib-portable-libc++/pnacl-target/lib/libc++.a Before ...
7 years ago (2013-12-04 01:20:57 UTC) #2
jvoung (off chromium)
Some minor comments below. Too bad that this demangler is so big. Besides internal cxx-abi ...
7 years ago (2013-12-04 01:51:59 UTC) #3
JF
https://codereview.chromium.org/102883003/diff/1/src/cxa_demangle.cpp File src/cxa_demangle.cpp (right): https://codereview.chromium.org/102883003/diff/1/src/cxa_demangle.cpp#newcode4607 src/cxa_demangle.cpp:4607: *status = 1; On 2013/12/04 01:52:00, jvoung (cr) wrote: ...
7 years ago (2013-12-04 02:10:25 UTC) #4
jvoung (off chromium)
lgtm
7 years ago (2013-12-04 02:32:38 UTC) #5
JF
Committed patchset #3 manually as r8ffb0bd (presubmit successful).
7 years ago (2013-12-04 03:07:16 UTC) #6
eliben_google.com
On Tue, Dec 3, 2013 at 5:51 PM, <jvoung@chromium.org> wrote: > Some minor comments below. ...
7 years ago (2013-12-04 17:20:37 UTC) #7
JF
> Can we provide it on the translator side as a native library? It's in: ...
7 years ago (2013-12-04 17:40:22 UTC) #8
jvoung - send to chromium...
On 2013/12/04 17:20:37, eliben_google.com wrote: > On Tue, Dec 3, 2013 at 5:51 PM, <mailto:jvoung@chromium.org> ...
7 years ago (2013-12-04 17:59:41 UTC) #9
Mark Seaborn
So, both libstdc++ and libc++ have/had a working __cxa_demangle(): $ pnacl-clang++ cxa_demangle.cc -o cxa_demangle.pexe -O2 ...
7 years ago (2013-12-04 18:10:51 UTC) #10
jvoung (off chromium)
On 2013/12/04 18:10:51, Mark Seaborn wrote: > So, both libstdc++ and libc++ have/had a working ...
7 years ago (2013-12-04 18:21:30 UTC) #11
nfullagar
XRay (profiler) uses cxa_demangle. It can be built without cxa_demangle, but the output, when sent ...
7 years ago (2013-12-04 19:37:06 UTC) #12
Derek Schuff
7 years ago (2013-12-04 19:39:57 UTC) #13
Message was sent while issue was closed.
Maybe instead of killing cxa_demangle entirely, we could instead remove its use
in default_terminate_handler, which would keep it from getting linked into
everything, but still have it around for users that want to call it themselves?

Powered by Google App Engine
This is Rietveld 408576698