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

Truffle ropes #3623

Merged
merged 178 commits into from
Jan 27, 2016
Merged

Truffle ropes #3623

merged 178 commits into from
Jan 27, 2016

Conversation

nirvdrum
Copy link
Contributor

This is a new PR that combines the work from two previously closed, but not merged PRs (#3605 and #3619). I've simply combined them since the original PR wasn't sufficiently far enough along to merge and I wanted the work in the second one to be independently reviewable.

All Strings are now backed by ropes.
…h codes have already been calculated.

This could help avoid a length byte walk.
We probably need something more robust to various attacks, but we definitely shouldn't be creating a temporary ByteList to get a hash code.
* Unified with the String#data method.
* Used Rubinius::ByteArray and removed our Rubinius::StringData shim.
* Cached value in String DynamicObject and invalidate on Rope update.
nirvdrum added a commit that referenced this pull request Jan 27, 2016
@nirvdrum nirvdrum merged commit 983325b into master Jan 27, 2016
@nirvdrum nirvdrum deleted the truffle-ropes branch January 27, 2016 18:49
@enebo enebo modified the milestone: Non-Release May 25, 2016
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.

None yet

3 participants