com.unity.burst 1.8.0-pre.2

com.unity.burst

Notes: processedReleased August 11, 2022

Browse versions

PreviousNext

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.

API Changes

    ⚠️ Known Issues