-
Notifications
You must be signed in to change notification settings - Fork 122
Comparing changes
Open a pull request
base repository: msgpack/msgpack-ruby
base: v1.7.3
head repository: msgpack/msgpack-ruby
compare: v1.7.5
- 13 commits
- 9 files changed
- 1 contributor
Commits on Nov 8, 2024
-
Prevent memory leak when a recursive unpacker raises an exception
The child stack wouldn't be popped nor freed. Additionally, even once the packer was freed, only the latest stack would be freed, all the parent stack would be leaked. Practically speaking, every time a recursive unpacker would raise, 4kiB would be leaked.
Configuration menu - View commit details
-
Copy full SHA for 8a79706 - Browse repository at this point
Copy the full SHA 8a79706View commit details -
Merge pull request #371 from Shopify/recursive-raise-leak
Prevent memory leak when a recursive unpacker raises an exception
Configuration menu - View commit details
-
Copy full SHA for 9bac145 - Browse repository at this point
Copy the full SHA 9bac145View commit details
Commits on Nov 11, 2024
-
Refactor unpacking of recursive types
Extracted from: #370 As initially implemented, we allocate a new stack whenever we encounter a child stack. This means acquiring a whole 4kiB chunk from the arena, which generally is overkill. Instead we can introduce a new type of stack item, that behave just like a Hash or Array.
Configuration menu - View commit details
-
Copy full SHA for 8289177 - Browse repository at this point
Copy the full SHA 8289177View commit details -
Embed unpacker_stack inside unpacker
Now that there's no longer a concept of child stacks, we can embed the struct and save a malloc/free pair.
Configuration menu - View commit details
-
Copy full SHA for 3d28793 - Browse repository at this point
Copy the full SHA 3d28793View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3778272 - Browse repository at this point
Copy the full SHA 3778272View commit details -
Configuration menu - View commit details
-
Copy full SHA for b9fd86f - Browse repository at this point
Copy the full SHA b9fd86fView commit details -
Remove
cast_blockfrommsgpack_bufferIt's only used by the unpacking loop, and can perfectly be allocated on the stack, no reason to add an extra 8B in every buffer struct for it.
Configuration menu - View commit details
-
Copy full SHA for 809ce8b - Browse repository at this point
Copy the full SHA 809ce8bView commit details -
Merge pull request #374 from msgpack/remove-cast-block
Remove `cast_block` from `msgpack_buffer`
Configuration menu - View commit details
-
Copy full SHA for 938d75e - Browse repository at this point
Copy the full SHA 938d75eView commit details -
Merge pull request #373 from msgpack/reoder-packer
Reorder msgpack_packer struct
Configuration menu - View commit details
-
Copy full SHA for b3bcc6b - Browse repository at this point
Copy the full SHA b3bcc6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for b265f3c - Browse repository at this point
Copy the full SHA b265f3cView commit details -
Merge pull request #372 from msgpack/refactor-stack
Refactor unpacking of recursive types
Configuration menu - View commit details
-
Copy full SHA for a60b1da - Browse repository at this point
Copy the full SHA a60b1daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c601c0 - Browse repository at this point
Copy the full SHA 5c601c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a92ffb - Browse repository at this point
Copy the full SHA 2a92ffbView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.7.3...v1.7.5