1. 28 Jan, 2019 1 commit
  2. 10 Jan, 2019 1 commit
    • Daniel Clifford's avatar
      [torque]: Class declarations · d0e95c7a
      Daniel Clifford authored
      Class declarations support structured heap data that is a subtype of
      HeapObject. Only fields of Object subtypes (both strong and weak)
      are currently supported (no scalar fields yet).
      
      With this CL, both the field list macro used with the C++
      DEFINE_FIELD_OFFSET_CONSTANTS macro (to make field offset constants) as
      well as the Torque "operator '.field'" macros are generated for the
      classes declared in Torque. This is a first step to removing the
      substantial amount of duplication and boilerplate code
      needed to declare heap object classes.
      
      As a proof of concept, and handful of class field definitions,
      including those for non trivial classes like JSFunction, have been
      moved to Torque.
      
      Bug: v8:7793
      Change-Id: I2fa0b53db65fa6f5fe078fb94e1db3418f908753
      Reviewed-on: https://chromium-review.googlesource.com/c/1373971
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58704}
      d0e95c7a
  3. 09 Jan, 2019 1 commit
  4. 26 Dec, 2018 1 commit
  5. 18 Dec, 2018 1 commit
  6. 14 Dec, 2018 2 commits
  7. 08 Dec, 2018 1 commit
  8. 25 Nov, 2018 1 commit
  9. 24 Nov, 2018 1 commit
  10. 23 Nov, 2018 1 commit
  11. 22 Nov, 2018 1 commit
  12. 28 Sep, 2018 1 commit
    • Daniel Clifford's avatar
      Clean up common argument objects that share length property · 64e8a948
      Daniel Clifford authored
      This CL adds a bit more rigor to the handling of length properties
      in JSObject-derived classes that explicitly contain that property
      inline.
      
      This involves:
      - Introducing a new superclass of JSArgumentsObject called
        JSArgumentsObjectWithLength that is shared with other object
        instances that also have a fixed length property.
      - Adding JSArgumentsObjectWithLength to the type hierarchy in Torque,
        including adding fast-cases for leading the length property for all
        classes deriving from JSObjectWithLength.
      - Adding more rigor to Context and NativeContext handling in base.tq.
        This is useful for the map checks required to verify objects are
        argument object types derived from JSArgumentsObjectWithLength.
      
      Change-Id: I2f0a20601ffcb90b3767cbaeb766e9998d3462ec
      Reviewed-on: https://chromium-review.googlesource.com/1248661
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56289}
      64e8a948
  13. 21 Sep, 2018 1 commit
  14. 26 Jul, 2018 1 commit
  15. 21 Jun, 2018 1 commit
  16. 26 Oct, 2017 1 commit
  17. 28 Aug, 2017 1 commit
    • Michael Starzinger's avatar
      [objects] Remove dangerous arguments accessors. · a33b0d25
      Michael Starzinger authored
      This removes dangerous accessors method from the arguments object
      accessor classes. The shape of an arguments object might transition,
      turning the fields into dictionary mode, making the accessors invalid.
      
      It also fixes a bug in the reported number of embedder fields on the
      arguments object.
      
      R=ishell@chromium.org
      TEST=cctest/test-api/InternalFieldsOfRegularObjects
      
      Change-Id: Ib7a73608c6236fe8864434e0cfdcb754ae012a75
      Reviewed-on: https://chromium-review.googlesource.com/636368
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47643}
      a33b0d25
  18. 30 Jun, 2017 1 commit
    • Mathias Bynens's avatar
      [elements] Rename FAST elements kinds · 26c00f4a
      Mathias Bynens authored
      The `FAST_` prefix doesn’t make much sense — they’re all just different cases
      with their own optimizations. Packedness being implicit (e.g. `FAST_ELEMENTS`
      vs. `FAST_HOLEY_ELEMENTS`) is not ideal, either.
      
      This patch renames the FAST elements kinds as follows:
      
      - e.g. FAST_ELEMENTS => PACKED_ELEMENTS
      - e.g. FAST_HOLEY_ELEMENTS => HOLEY_ELEMENTS
      
      The following exceptions are left intact, for lack of a better name:
      
      - FAST_SLOPPY_ARGUMENTS_ELEMENTS
      - SLOW_SLOPPY_ARGUMENTS_ELEMENTS
      - FAST_STRING_WRAPPER_ELEMENTS
      - SLOW_STRING_WRAPPER_ELEMENTS
      
      This makes it easier to reason about elements kinds, and less confusing to
      explain how they’re used.
      
      R=jkummerow@chromium.org, cbruni@chromium.org
      BUG=v8:6548
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ie7c6bee85583c3d84b730f7aebbd70c1efa38af9
      Reviewed-on: https://chromium-review.googlesource.com/556032Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46361}
      26c00f4a
  19. 29 Jun, 2017 1 commit
  20. 13 Jun, 2017 1 commit