1. 09 Jul, 2019 1 commit
  2. 31 May, 2019 1 commit
    • Benedikt Meurer's avatar
      [map] Remove Map::has_hidden_prototype(). · 2f379994
      Benedikt Meurer authored
      The `FunctionTemplate::SetHiddenPrototype()` API was removed in a
      previous CL, after being deprecated since beginning of the year. This
      removes all the logic behind it, leaving us with just the special case
      of the JSGlobalProxy which has the JSGlobalObject as its hidden prototype.
      
      This gives us back one bit in `Map::bit_field2` and removes quite a bit
      of complexity from the code base (especially due to previous work from
      verwaest@ in this area).
      
      Bug: v8:9267
      Change-Id: Id04b59686212fe35a63c9451aa3e045f0766b9cc
      Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619752
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61938}
      2f379994
  3. 23 May, 2019 3 commits
  4. 20 May, 2019 1 commit
  5. 15 May, 2019 1 commit
    • Toon Verwaest's avatar
      [json] Make json parsing iterative · 4b60b40a
      Toon Verwaest authored
      This avoids the need to throw range errors when we run out of stack, limiting
      us only by available memory.
      
      The main parser loop is implemented by two subloops.
      
      The first subloop finishes whenever it generates primitive values, empty
      arrays, or empty objects. If a non-empty object or array is started, the loop
      continues to parse its first member.
      
      The second subloop consumes produced values and either adds them to the parent
      array or object, or returns it. The second loop finishes whenever a next value
      needs to be produced. When the loop itself produces a finished array or object,
      the loop continues.
      
      Exceptions are handled by moving the cursor to end-of-input. Upon end-of-input,
      the first loop sets the continuation to "kFail". That causes the second loop to
      tear down continuation stack and related handle scopes, resulting in an empty
      handle.
      
      The CL additionally buffers all named properties and elements so we can
      immediately allocate a correctly shaped object. For object elements we'll take
      flat array or dictionary encoding depending on what is more efficient.
      
      This means that element handles are now allocated in their parent HandleScope,
      rather than having local handlescopes per-property (of big objects); which is
      why I've adjusted the handle-count test to not allocate as many properties. In
      the future it would be nice to not have to allocate (as many) handles since
      almost everything in the JSON graph will survive JSON parsing...
      
      Bug: chromium:710383
      Change-Id: Ia3a7fd0ac260fb1c0e5f929276792b2f8e5fc0ca
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609802Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61533}
      4b60b40a
  6. 17 Dec, 2018 1 commit
  7. 13 Nov, 2018 1 commit
  8. 29 Oct, 2018 1 commit
  9. 30 Jul, 2018 1 commit
  10. 23 Jul, 2018 1 commit
  11. 06 Sep, 2016 1 commit
  12. 05 Sep, 2016 1 commit
  13. 05 Oct, 2015 1 commit
  14. 30 Sep, 2015 1 commit
  15. 07 Jul, 2015 1 commit
  16. 01 Jul, 2015 2 commits
  17. 23 Jun, 2015 1 commit
  18. 11 Jun, 2015 3 commits
  19. 08 Jun, 2015 1 commit
  20. 02 Jun, 2015 3 commits
  21. 01 Jun, 2015 1 commit
  22. 21 May, 2015 1 commit
  23. 19 Mar, 2015 1 commit
  24. 18 Mar, 2015 1 commit
  25. 12 Mar, 2015 1 commit
  26. 10 Mar, 2015 1 commit
  27. 26 Feb, 2015 1 commit
  28. 19 Jan, 2015 1 commit
    • ishell's avatar
      Massive renaming of PropertyType values and other implied stuff. · 33994b4a
      ishell authored
      PropertyKind:
        DATA -> kData
        ACCESSOR -> kAccessor
      
      PropertyType:
        FIELD -> DATA
        CONSTANT -> DATA_CONSTANT
        ACCESSOR_FIELD -> ACCESSOR
        CALLBACKS -> ACCESSOR_CONSTANT
      
      PropertyLocation:
        IN_OBJECT -> kField
        IN_DESCRIPTOR -> kDescriptor
      
      StoreMode:
        FORCE_IN_OBJECT -> FORCE_FIELD
      
      FieldDescriptor -> DataDescriptor
      ConstantDescriptor -> DataConstantDescriptor
      CallbacksDescriptor -> AccessorConstantDescriptor
      
      Review URL: https://codereview.chromium.org/856503002
      
      Cr-Commit-Position: refs/heads/master@{#26146}
      33994b4a
  29. 16 Dec, 2014 1 commit
  30. 19 Nov, 2014 1 commit
  31. 16 Sep, 2014 1 commit
  32. 04 Sep, 2014 2 commits