com.unity.burst 1.8.0-pre.2
Notes: processedReleased August 11, 2022
Unity Compatibility
Minimum Unity: 2020.3
Package Dependencies
🔧 Bug Fixes
- Fixed hashing bug that could occur when a function pointer type is used in a method parameter
- Fix selection and copying of folded blocks
- Fixed hashing error that could occur in the presence of multiple synthesized explicit interface implementations with the same name and signature
- Fixed a compiler crash if users used `__refvalue` or `__arglist` in Burst. Neither of these are supported, but now we will nicely tell you via a compiler error that they aren't supported.
- Fixed a compiler error when trying to acquire the function pointer of a generic function from Bursted code.
- Fix some ARM branch instructions not being processed as such.
- Using a function only through a C# function pointer could cause a crash
- Whitespace changes in ILPP'd assemblies would not be detected.
- Issue where a warning could be generated about the debug information version mismatching `warning: ignoring debug info with an invalid version (0)` during link.
- Interface methods where not being hashed correctly for constrained types, which would result in burst failing to recompile code that had changed in an implementation class.
- Fixed a safety check bug with `Span`/`ReadOnlySpan` and `Slice(start, length)` where if `start` + `length` was equal to the `Length` of the original span, the safety check would incorrectly report an out-of-bounds access.
- Linking issue when exports differ only by module.
- Disabling Burst from the command line via `--burst-disable-compilation` no longer results in Burst errors when building a player for Android
- Corrupted binary could be produced on M1 if there was not enough space for UUID+codesign injection.
- ;'s in paths would cause burst to fail. Note - Also requires a fix in the Editor, so if your project has ;'s in its path, the workaround is to remove the ; from the folder name for now.
- Fixed error when compiling assemblies with spaces in their names
- Fixed access violation race condition bug
- Fixed a bug where static fields in generic types could in some situations be initialized with the incorrect value
- Fixed last line in Burst Inspector not being select-able using the mouse cursor.
- Fix error that occurs with a specific formulation of IL, using xx with an early out escape and unbalanced calculation stack. (Object reference not set to an instance of ... in CollectBlock.ToVisitOrder)
📈 Improvements
- Changed burst inspector toggles to popup menus.
- Removed label from burst inspector popup menu into the menu itself.
- Used explicit namespace for UnityEditor.PackageManager.Events to avoid conflicts.
- Improved "hashing" performance. This is the part of Burst that determines whether anything significant has changed in .NET assemblies, and therefore whether that assembly to be compiled.
- Entry point function names weren't always included in crash callstacks; now they are
- Search pattern from previous job is not carried over to the new.
- Changed so block of 1 line cannot be folded in the Burst Inspector
✨ Features
- Setting a breakpoint in an attached managed debugger (Rider/VS Unity Debugger...) on a method that is burst compiled, will switch off the burst code path for that method, allowing it to be debugged as normal.
- Added toggle to filter Unity tests on and off.
- Assembly is now searchable either through `CTRL + f` or the contex menu associated with the inspector view. Search options include case sensitivity, whole word match, and regex.
- Intrinsic support for UnsafeUtility.IsNativeContainerType
- Added an actual definition for `HPC#` in the package docs.
- Check that calling convention is correctly set to Cdecl for functions whose addresses are taken via `ldftn`.
- Added focus on current job in the burst inspector.
- Added copy to burst inspector, which ignores underlying color tags.
