tree 856128c2c5194d503cb0d90acc14591ceb0dc293
parent a1ec027bb75a9703f129b78c51bca3cf0921807d
author Romain Guy <romainguy@google.com> 1729120202 -0700
committer Romain Guy <romainguy@google.com> 1736189111 -0800

Optimize various things:

Optimize array management:
- Use @NeverInline in the cold code paths where we reallocate arrays
  to avoid putting a large amount of instructions on the hot path
  (caused by ART inlining).
- Introduce fastCopyOfRange() to reduce the amount of generated code
  (exception/stack trace + string builder) by skipping parameters
  validation we don't need.
- Introduce fastCopyInto() to eliminate unnecessary checks and
  exception throwing code introduced by the compiler after inlining.
- Don't use copyOf() in the color space code, just create the array
  we need with the known values we need. It produces a lot less
  code.
- Remove extra branches and instructions from IntStack.

Other optimizations:
- Branchless calls in ScrollNode
- Skip static initialization checks in OpArray by removing the
  companion object we don't need.
- Revert Constraints.bitsNeed...() and .maxAllowedForSize() to
  the original implementation. The dependent add operation we
  had to add is actually slightly worse on modern devices.
  It's better to keep the code simpler.
- Unify padding checks in Padding.kt. Removes 60% of the
  branches on initialization.
  Optimize for the common case by switching to and instead
  of && in the test to go branchless. Factor method calls.
- Use "fast" coerce implementations where possible.
- Don't compare dps to Dp.Unspecified, use Dp.isSpecified
  instead (or Dp.isUnspecified). Same result, but much
  cheaper since we know Dp.Unspecified is NaN.
- Cleanup: address various warnings.

Test: ui tests, foundation tests, graphics tests
Relnote: N/A
Change-Id: I8402e8cfabf9726362273b2e7f5647854e602d63
