Skip to content

Demangler: Use a bump-pointer allocator for node allocation. #7758

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

Merged
merged 1 commit into from
Feb 25, 2017

Conversation

eeckstein
Copy link
Contributor

This makes the demangler about 10 times faster.
It also changes the lifetimes of nodes. Previously nodes were reference-counted.
Now the returned demangle node-tree is owned by the Demangler class and it’s lifetime ends with the lifetime of the Demangler.

Therefore the old (and already deprecated) global functions demangleSymbolAsNode and demangleTypeAsNode are no longer available.

@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

1 similar comment
@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

This makes the demangler about 10 times faster.
It also changes the lifetimes of nodes. Previously nodes were reference-counted.
Now the returned demangle  node-tree is owned by the Demangler class and it’s lifetime ends with the lifetime of the Demangler.

Therefore the old (and already deprecated) global functions demangleSymbolAsNode and demangleTypeAsNode are no longer available.

Another change is that the demangling for reflection now only supports the new mangling (which should be no problem because
we are generating only new mangled names for reflection).
@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

1 similar comment
@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

@swift-ci swift-ci merged commit fbd2c99 into swiftlang:master Feb 25, 2017
@eeckstein eeckstein deleted the bumpptr-allocation branch February 25, 2017 05:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants