1. 28 Sep, 2017 1 commit
    • Peter Marshall's avatar
      [cleanup] Replace List with std::vector in api. · 329f6946
      Peter Marshall authored
      The members of HandleScopeImplementer are copied with memcpy when
      the isolate is transferred to another thread. List contained some
      primitives which allowed us to manually free the backing store, which
      was needed in order to ensure that threads would not hold on to
      old pointers and use them later. With std::vector, we can't do that.
      
      Here we change the HandleScopeImplementer to instead use a custom
      structure DetachableVector, which contains a std::vector but allows
      manual detaching and freeing of the backing store. This allows us to
      maintain the old behavior.
      
      Bug: v8:6333
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I6361d161cdb19878ba19ed51d6ba2fae99e8cdc0
      Reviewed-on: https://chromium-review.googlesource.com/660125Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48197}
      329f6946
  2. 31 Aug, 2017 1 commit
    • Sathya Gunasekaran's avatar
      [Modules] Introduce ScriptOrModule and HostDefinedOptions · dbfe4a49
      Sathya Gunasekaran authored
      This patch introduces a new container type ScriptOrModule which
      provides the name and the host defined options of the script/module.
      
      This patch also introduces a new PrimitivesArray that can hold
      Primitive values, which the embedder can use to store metadata.
      
      The HostDefinedOptions is passed to V8 through the ScriptOrigin, and
      passed back to the embedder through HostImportModuleDynamically for
      module loading.
      
      Bug: v8:5785, v8:6658, v8:6683
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I56c26fc9a680b273ac0a6691e5ad75f15b8dc80a
      Reviewed-on: https://chromium-review.googlesource.com/622158Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47724}
      dbfe4a49
  3. 29 Jun, 2017 1 commit
  4. 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
  5. 14 Apr, 2017 1 commit
  6. 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
  7. 07 Apr, 2017 1 commit
  8. 05 Apr, 2017 2 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
    • 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
  9. 03 Apr, 2017 1 commit
  10. 20 Feb, 2017 1 commit
  11. 10 Feb, 2017 3 commits
  12. 07 Feb, 2017 1 commit
  13. 09 Jan, 2017 1 commit
  14. 05 Dec, 2016 1 commit
  15. 29 Oct, 2016 1 commit
  16. 07 Oct, 2016 3 commits
  17. 22 Sep, 2016 1 commit
    • jochen's avatar
      Make sure to use the correct context for eval checks · d008b9ef
      jochen authored
      We can't assume that there's no entered context during microtask
      execution. We also can't assume that we'll never enter an context during
      microtask execution either.
      
      We can however assume that we don't execute microtasks recursively, so
      remembering the length of the entered context stack is enough to decide
      which context to use.
      
      BUG=chromium:635769
      R=verwaest@chromium.org
      
      Review-Url: https://codereview.chromium.org/2350933007
      Cr-Commit-Position: refs/heads/master@{#39627}
      d008b9ef
  18. 21 Sep, 2016 1 commit
  19. 20 Sep, 2016 1 commit
    • adamk's avatar
      [modules] Expand API to allow linking and use it in d8 · cf127e81
      adamk authored
      This patch gives the ability for the embedder to ask for the
      module requests of a module, and to pass a ResolveCallback
      into Module::Instantiate().
      
      In d8, I've implemented a simple module_map that's used
      along with this API to allow loading, compiling, instantiating,
      and evaluating a whole tree of modules.
      
      No path resolution is yet implemented, meaning that all
      import paths are relative to whatever directory d8 runs
      in. And no imports are linked to the exports of the
      requested module.
      
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2351113004
      Cr-Commit-Position: refs/heads/master@{#39569}
      cf127e81
  20. 16 Sep, 2016 1 commit
  21. 02 Aug, 2016 1 commit
  22. 01 Aug, 2016 1 commit
  23. 18 Jul, 2016 1 commit
    • jochen's avatar
      Reland^2 "Don't compile functions in a context the caller doesn't have access to" · 02ba2441
      jochen authored
      Original issue's description:
      > Don't compile functions in a context the caller doesn't have access to
      >
      > Instead just return undefined
      >
      > A side effect of this is that it's no longer possible to compile
      > functions in a detached context.
      >
      > BUG=chromium:541703
      > R=verwaest@chromium.org,bmeurer@chromium.org
      
      BUG=chromium:541703
      R=verwaest@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng
      
      Review-Url: https://codereview.chromium.org/2155503004
      Cr-Commit-Position: refs/heads/master@{#37842}
      02ba2441
  24. 14 Jul, 2016 1 commit
  25. 14 Jun, 2016 1 commit
  26. 13 Jun, 2016 2 commits
  27. 19 Mar, 2016 1 commit
  28. 04 Mar, 2016 3 commits
  29. 22 Dec, 2015 1 commit
  30. 30 Nov, 2015 1 commit
  31. 16 Nov, 2015 1 commit
  32. 26 Oct, 2015 1 commit