-
Notifications
You must be signed in to change notification settings - Fork 157
Comparing changes
Open a pull request
base repository: pschraut/UnityHeapExplorer
base: master
head repository: KSPModdingLibs/UnityHeapExplorer
compare: dev
- 11 commits
- 82 files changed
- 3 contributors
Commits on Jan 21, 2023
-
Refactoring and fixing of HeapExplorer
* Introduced the `Option<A>` type to represent values that might not be there. * Replaced values representing failure (like `-1`) with `Option` to indicate the possibility of failure. * Replaced possibly-invalid types with `Option`s. Now if you if have an instance - it's guaranteed to be valid. * Replaced magic values (like using positive integers for managed object indexes and negative integers for static object indexes) with proper semantic types to help with code clarity. * Replaced dangerous numeric casts that could under/overflow with typesafe alternatives (`PInt` positive 32bit integer type) that guarantee no such things can happen. * Replaced instances of `List` which were being used as stacks with `Stack`. * Replaced as many fields in objects as possible with readonly ones to indicate that we have no intent of changing them after the object is constructed. This is a part of 'objects should stay valid after construction' philosophy. * Added logging for potentially dangerous operations (like int -> uint). * Replaced primitive loop guards with cycle tracking that tracks seen objects. This eliminates the false positives and errors out sooner if we actually have an error. * Replaced places where things got cancelled silently with emitting warnings / errors. Failures should never be silent. * Fixed algorithm that checks if a type contains reference types: it didn't account for nested value-types which eventually have reference types in them and only looked for reference types in the first level. * Fixed bad lookups in `PackedCoreTypes`. Also made `PackedCoreTypes` to be fully initialized, without any missing entries. * Added a warning about the inability to crawl the `[ThreadStatic]` variables. * Improved search speed by: * caching search results. * downcasing everything before the search and then using fast ordinal string comparisons instead of slower `OrdinalIgnoreCase` comparisons. * Improved documentation by adding new docstrings and converting existing docstrings into proper XMLDocs. Now IDEs and tools can properly render the documentation. * Rewrote a part of code using C# 7.3 (supported since Unity 2019) to enhance readability. * bumped version to 4.1.2 * Added capability to copy the root path as text in "Find GC roots" window. * Added information about source fields that are pointing to the object in "Find GC roots" window. * Added progress reporting to Unity when a memory snapshot is being converted from the Unity format to our format.
Configuration menu - View commit details
-
Copy full SHA for 5f59252 - Browse repository at this point
Copy the full SHA 5f59252View commit details
Commits on Jan 22, 2023
-
The old data files contain fields serialized with `-1` offsets. We know these are invalid and should be skipped during reading.
Configuration menu - View commit details
-
Copy full SHA for 53954da - Browse repository at this point
Copy the full SHA 53954daView commit details -
Configuration menu - View commit details
-
Copy full SHA for d96fbe1 - Browse repository at this point
Copy the full SHA d96fbe1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4fecbdc - Browse repository at this point
Copy the full SHA 4fecbdcView commit details
Commits on Feb 3, 2023
-
Fixed an exception when taking a snapshot because
arrayRankwas bei……ng read for non-array types. Now instead of having `bool isArray` and `PInt arrayRank` we have one field `Option<PInt> arrayRank` which makes sure we are not capable of representing the illegal state.
Configuration menu - View commit details
-
Copy full SHA for d063659 - Browse repository at this point
Copy the full SHA d063659View commit details -
Configuration menu - View commit details
-
Copy full SHA for 538b429 - Browse repository at this point
Copy the full SHA 538b429View commit details
Commits on Feb 12, 2023
-
Fix compilation for older C# compiler that does not support file-scop…
…ed namespaces yet.
Configuration menu - View commit details
-
Copy full SHA for 7bfb34f - Browse repository at this point
Copy the full SHA 7bfb34fView commit details
Commits on Feb 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9979cb7 - Browse repository at this point
Copy the full SHA 9979cb7View commit details
Commits on Feb 26, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 892fe5a - Browse repository at this point
Copy the full SHA 892fe5aView commit details
Commits on Feb 28, 2023
-
Fix compilation and tests for Unity 2019.
Tested with Unity 2019.4.40f1.
Configuration menu - View commit details
-
Copy full SHA for c2be5a9 - Browse repository at this point
Copy the full SHA c2be5a9View commit details
Commits on Mar 17, 2024
-
Merge pull request #1 from arturaz/refactor-and-fix
From arturaz - Refactor and fix
Configuration menu - View commit details
-
Copy full SHA for c844e73 - Browse repository at this point
Copy the full SHA c844e73View 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 master...dev