1. 16 May, 2017 2 commits
    • Leszek Swirski's avatar
      [ignition] Change --trace-ignition to a runtime flag · 4becbe34
      Leszek Swirski authored
      Generate the code (extra runtime calls) for --trace-ignition support at
      compile time, based on a #define (similar to TRACE_MAPS). Then check for
      --trace-ignition at run-time when deciding whether to actually print
      anything. This should make --trace-ignition less painful to use.
      
      Note that --trace-igition is disabled by default, even on debug builds.
      It has to be enabled with the gn arg "v8_enable_trace_ignition=true"
      
      As a drive-by, TRACE_MAPS is renamed to V8_TRACE_MAPS, for consistency,
      and SFI unique index (needed both by --trace-ignition and --trace-maps)
      is cleaned up to be behind another #define.
      
      Change-Id: I8dd0c62d0e6b7ee9c75541d45eb729dc03acbee9
      Reviewed-on: https://chromium-review.googlesource.com/506203
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45346}
      4becbe34
    • Jakob Kummerow's avatar
      [elements] Fix pathological slowness when deleting many elements · 6aaccd0f
      Jakob Kummerow authored
      When most elements of an object are deleted, we want to normalize its
      elements backing store to a dictionary in order to save space. Finding
      the right time to do so should not incur a linear cost on each delete
      operation. This patch changes the heuristic to an amortized-constant
      approach based on a global counter and the current backing store
      capacity.
      
      BUG=chromium:542978
      
      Change-Id: Ifdf29ab2211fdde1df9078f63be4118627d6a67e
      Reviewed-on: https://chromium-review.googlesource.com/506191Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45330}
      6aaccd0f
  2. 15 May, 2017 1 commit
  3. 10 May, 2017 3 commits
  4. 09 May, 2017 2 commits
  5. 08 May, 2017 3 commits
  6. 02 May, 2017 2 commits
  7. 25 Apr, 2017 1 commit
    • ulan's avatar
      Decouple root visitors from object visitors. · e671ed36
      ulan authored
      This patch adds a new interface called RootVisitor and changes the root
      iteration functions to accept a RootVisitor instead of an ObjectVisitor.
      
      Future CLs will change ObjectVisitor to provide the host object to all
      visiting functions, which will bring it in sync with static visitors.
      
      Having separate visitors for roots and objects removes ambiguity in
      VisitPointers and reduces chances of forgetting to record slots.
      
      This is intended as pure refactoring. All places that require behavior
      change are marked with TODO and will addressed in future CLs.
      
      BUG=chromium:709075
      
      Review-Url: https://codereview.chromium.org/2801073006
      Cr-Commit-Position: refs/heads/master@{#44852}
      e671ed36
  8. 20 Apr, 2017 1 commit
  9. 18 Apr, 2017 1 commit
  10. 14 Apr, 2017 1 commit
  11. 11 Apr, 2017 1 commit
    • gsathya's avatar
      [ESNext] Implement DynamicImportCall · 94283dcf
      gsathya authored
      This patch implements the runtime semantics of dynamic import.
      
      We create a new ASTNode so that we can pass the JSFunction closure() to
      the runtime function from which we get the script_url.
      
      d8 implements the embedder logic required to load and evaluate the modules.
      
      The API is mostly implemented as specified.
      
      BUG=8:5785
      
      Review-Url: https://codereview.chromium.org/2703563002
      Cr-Commit-Position: refs/heads/master@{#44551}
      94283dcf
  12. 10 Apr, 2017 1 commit
  13. 07 Apr, 2017 1 commit
  14. 06 Apr, 2017 2 commits
  15. 05 Apr, 2017 3 commits
    • kozyatinskiy's avatar
      Revert of [snapshot] Move builtins generation into mksnapshot (patchset #8... · ba9fc3d7
      kozyatinskiy authored
      Revert of [snapshot] Move builtins generation into mksnapshot (patchset #8 id:160001 of https://codereview.chromium.org/2760233005/ )
      
      Reason for revert:
      I think that this CL breaks chromium compilation on windows with clang (). All other CLs in the list looks trivial and don't change test/unittest/BUILD.gn.
      
      [42456/47924] CXX obj/v8/test/unittests/unittests/value-serializer-unittest.obj
      [42457/47924] LINK unittests.exe unittests.exe.pdb
      FAILED: unittests.exe unittests.exe.pdb
      E:/b/depot_tools/python276_bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False link.exe /nologo /OUT:./unittests.exe /PDB:./unittests.exe.pdb @./unittests.exe.rsp
      bitmap-unittest.obj : error LNK2019: unresolved external symbol "public: void __cdecl v8::internal::List<class v8::internal::AllocationObserver *,class v8::internal::FreeStoreAllocationPolicy>::Add(class v8::internal::AllocationObserver * const &,class v8::internal::FreeStoreAllocationPolicy)" (?Add@?$List@PEAVAllocationObserver@internal@v8@@VFreeStoreAllocationPolicy@23@@internal@v8@@QEAAXAEBQEAVAllocationObserver@23@VFreeStoreAllocationPolicy@23@@Z) referenced in function "public: virtual void __cdecl v8::internal::Space::AddAllocationObserver(class v8::internal::AllocationObserver *)" (?AddAllocationObserver@Space@internal@v8@@UEAAXPEAVAllocationObserver@23@@Z)
      
      slot-set-unittest.obj : error LNK2001: unresolved external symbol "public: void __cdecl v8::internal::List<class v8::internal::AllocationObserver *,class v8::internal::FreeStoreAllocationPolicy>::Add(class v8::internal::AllocationObserver * const &,class v8::internal::FreeStoreAllocationPolicy)" (?Add@?$List@PEAVAllocationObserver@internal@v8@@VFreeStoreAllocationPolicy@23@@internal@v8@@QEAAXAEBQEAVAllocationObserver@23@VFreeStoreAllocationPolicy@23@@Z)
      
      bitmap-unittest.obj : error LNK2019: unresolved external symbol "public: bool __cdecl v8::internal::List<class v8::internal::AllocationObserver *,class v8::internal::FreeStoreAllocationPolicy>::RemoveElement(class v8::internal::AllocationObserver * const &)" (?RemoveElement@?$List@PEAVAllocationObserver@internal@v8@@VFreeStoreAllocationPolicy@23@@internal@v8@@QEAA_NAEBQEAVAllocationObserver@23@@Z) referenced in function "public: virtual void __cdecl v8::internal::Space::RemoveAllocationObserver(class v8::internal::AllocationObserver *)" (?RemoveAllocationObserver@Space@internal@v8@@UEAAXPEAVAllocationObserver@23@@Z)
      
      slot-set-unittest.obj : error LNK2001: unresolved external symbol "public: bool __cdecl v8::internal::List<class v8::internal::AllocationObserver *,class v8::internal::FreeStoreAllocationPolicy>::RemoveElement(class v8::internal::AllocationObserver * const &)" (?RemoveElement@?$List@PEAVAllocationObserver@internal@v8@@VFreeStoreAllocationPolicy@23@@internal@v8@@QEAA_NAEBQEAVAllocationObserver@23@@Z)
      
      ./unittests.exe : fatal error LNK1120: 2 unresolved externals
      
      Original issue's description:
      > [snapshot] Move builtins generation into mksnapshot
      >
      > and out of the main library. This saves about 5% of binary size
      > (800KB on x64, 373KB on android_arm).
      >
      > Only the GN build is supported; the GYP build is maintained working
      > but does not support the feature.
      >
      > BUG=v8:6055
      > CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_nosnap_rel;
      >
      > Review-Url: https://codereview.chromium.org/2760233005
      > Cr-Commit-Position: refs/heads/master@{#44412}
      > Committed: https://chromium.googlesource.com/v8/v8/+/4782bc0df89ceb127e38017b8dcf531222a0e966
      
      TBR=jgruber@chromium.org,rmcilroy@chromium.org,machenbach@chromium.org,jkummerow@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:6055
      
      Review-Url: https://codereview.chromium.org/2803903002
      Cr-Commit-Position: refs/heads/master@{#44422}
      ba9fc3d7
    • kozyatinskiy's avatar
      [inspector] move console to builtins · f5dc738c
      kozyatinskiy authored
      What will we get:
      - console would be included into snapshot and allow us to reduce time that we spent in contextCreated function (~5 times faster),
      - it allows us to make further small improvement of console methods, e.g. we can implement super quick return from console.assert if first argument is true,
      - console calls are ~ 15% faster.
      
      BUG=v8:6175
      R=dgozman@chromium.org
      
      Review-Url: https://codereview.chromium.org/2785293002
      Cr-Original-Original-Commit-Position: refs/heads/master@{#44353}
      Committed: https://chromium.googlesource.com/v8/v8/+/55905f85d63d75aaa9313e51eb7bede754a8e41c
      Review-Url: https://codereview.chromium.org/2785293002
      Cr-Original-Commit-Position: refs/heads/master@{#44355}
      Committed: https://chromium.googlesource.com/v8/v8/+/cc74ea0bc4fe4a71fa53d08b62cc18d15e01fbb3
      Review-Url: https://codereview.chromium.org/2785293002
      Cr-Commit-Position: refs/heads/master@{#44416}
      f5dc738c
    • jkummerow's avatar
      [snapshot] Move builtins generation into mksnapshot · 4782bc0d
      jkummerow authored
      and out of the main library. This saves about 5% of binary size
      (800KB on x64, 373KB on android_arm).
      
      Only the GN build is supported; the GYP build is maintained working
      but does not support the feature.
      
      BUG=v8:6055
      CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_nosnap_rel;
      
      Review-Url: https://codereview.chromium.org/2760233005
      Cr-Commit-Position: refs/heads/master@{#44412}
      4782bc0d
  16. 04 Apr, 2017 2 commits
  17. 03 Apr, 2017 2 commits
  18. 28 Mar, 2017 1 commit
  19. 24 Mar, 2017 1 commit
    • mtrofin's avatar
      [wasm] Override mechanism for wasm js APIs · 5fdb5a14
      mtrofin authored
      V8 side mechanism for overriding the wasm js APIs.
      
      We will use these to:
      - implement the Chrome-side constraints on module size, and throw with more
      actionable error messages, while preserving layering.
      The old mechansms will be deleted once we update the Chrome side with
      this new mechanism.
      
      - implement Chrome-side .compile and .instantiate overrides accepting
      Response objects.
      
      We may want to evolve this mechanism into something more general, not
      requiring V8 preparation, by replacing the v8-definition with embedder
      provided definitions. We're currently exploring if we can expand
      "Extras", for instance.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2773063002
      Cr-Commit-Position: refs/heads/master@{#44119}
      5fdb5a14
  20. 23 Mar, 2017 1 commit
    • yangguo's avatar
      [debug] introduce precise binary code coverage. · d71ef941
      yangguo authored
      With precise binary code coverage, the reported count is either 0 or 1.
      We only report 1 the first time we collect coverage data after the
      function has been executed.
      
      Since we do not care about the accurate execution count, we can optimize
      the function once it has been executed once.
      
      Also change best effort coverage to be implicitly binary.
      
      R=caseq@chromium.org, jgruber@chromium.org, pfeldman@chromium.org
      BUG=v8:5808
      
      Review-Url: https://codereview.chromium.org/2766573003
      Cr-Commit-Position: refs/heads/master@{#44074}
      d71ef941
  21. 21 Mar, 2017 1 commit
  22. 16 Mar, 2017 2 commits
  23. 09 Mar, 2017 1 commit
  24. 21 Feb, 2017 2 commits
  25. 20 Feb, 2017 1 commit
  26. 18 Feb, 2017 1 commit
    • mtrofin's avatar
      [wasm] Embedder can control what buffers wasm compilation works on. · d9bc0ffb
      mtrofin authored
      Two controls, one for instantiation and one for compilation. They allow
      the embedder (e.g. Chrome) check properties of the parameters of those
      two operations, and decide if they are allowed to continue.
      
      For example, Chrome may now decline compilation of certain size buffers,
      in synchronous cases; same for instantiation (where the buffer size
      refers to the size of the buffer containing wasm wire bytes)
      
      BUG=v8:5981
      
      Review-Url: https://codereview.chromium.org/2699843003
      Cr-Commit-Position: refs/heads/master@{#43295}
      d9bc0ffb