1. 08 Mar, 2021 1 commit
  2. 20 Nov, 2020 1 commit
  3. 22 Oct, 2020 1 commit
    • Seth Brenith's avatar
      [torque] Strict verification of abstract types · 50d474a2
      Seth Brenith authored
      Originally, the Torque-generated verifier for a field with type
      Undefined|Zero|NonNullForeign would check `f.IsUndefined() || f.IsZero()
      || f.IsNonNullForeign()`. At some point, we changed Torque so that it
      now generates the much weaker `f.IsOddball() || f.IsSmi() ||
      f.IsForeign()`. This change returns the verifiers to their initial
      precision. Mostly we can use the names of abstract types to build up the
      correct type check expression, but a few abstract types like
      PodArrayOfWasmValueType have no way that we can tell them apart from
      their parent type at runtime. It would be confusing to have a function
      Object::IsPodArrayOfWasmValueType which actually just checks whether the
      object is a ByteArray, so this change introduces a new annotation which
      allows abstract type declarations to state that they should use their
      parent type during verification.
      
      This change also adds new test cases to help avoid future regressions of
      this logic.
      
      Bug: v8:7793
      Change-Id: Ie5046d742fd45e0e0f6c2ba387d909e9f2ac6df1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2469960Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#70698}
      50d474a2
  4. 14 Oct, 2020 1 commit