Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debug string literal pooling #133

Closed
dnadlinger opened this issue Jun 26, 2012 · 8 comments
Closed

Debug string literal pooling #133

dnadlinger opened this issue Jun 26, 2012 · 8 comments

Comments

@dnadlinger
Copy link
Member

Currently, we are emitting file name and "null this" as new string constants for each inserted this check assertion, which leads to slight code bloat. Not that this would usually matter in the face of debug info…

@dnadlinger
Copy link
Member Author

This seems to apply not only to assert(this) checks, but to all kinds of string literals.

@dnadlinger
Copy link
Member Author

Just to clarify, the LLVM constant merger pass does catch this on optimized builds.

@dnadlinger
Copy link
Member Author

We should mark string constants as unnamed_addr.

@dnadlinger
Copy link
Member Author

Okay, merged the patch. User- (resp. frontend-) generated string constants are still not marked up with unnamed_addr though. This should be possible if the result type is immutable (and DMD does merge them).

redstar added a commit that referenced this issue Aug 18, 2013
@redstar
Copy link
Member

redstar commented Aug 18, 2013

Frontend generated string constants are now marked with unnamed_addr. Especially "null this" strings are marked.
But the strings are still emitted to the IR file. At least -O2 is needed to merge the strings.

redstar pushed a commit that referenced this issue Sep 27, 2014
New thread_scanAll() interface.
@dmakarov
Copy link
Contributor

This is issue overlaps with the issue #898 and should be resolved when/if PR #896 is merged.

@dmakarov
Copy link
Contributor

shouldn't the issue be closed?

@dnadlinger
Copy link
Member Author

I guess so, yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants