1. 17 Oct, 2016 1 commit
    • titzer's avatar
      [wasm] Add a Managed<T> wrapper class for allocating C++ classes that are... · 6d266f00
      titzer authored
      [wasm] Add a Managed<T> wrapper class for allocating C++ classes that are deleted when the wrapper is garbage collected.
      
      Use sparingly!
      
      This doesn't add any really new functionality, other than making it more
      convenient to do this.
      
      This will primarily be used to wrap a WasmModule to be referenced from a
      JSObject that represents an instance. There is one WasmModule C++ object
      per parsed WasmModule, so this should not be more than a handful or a few
      dozen in well-behaved programs.
      
      R=rossberg@chromium.org,mlippautz@chromium.org
      BUG=
      
      Review-Url: https://codereview.chromium.org/2409173005
      Cr-Commit-Position: refs/heads/master@{#40346}
      6d266f00
  2. 14 Oct, 2016 1 commit
  3. 13 Oct, 2016 1 commit
  4. 12 Oct, 2016 1 commit
  5. 07 Oct, 2016 1 commit
  6. 06 Oct, 2016 2 commits
  7. 05 Oct, 2016 5 commits
    • adamk's avatar
      Revert of Reland "Turn libbase into a component" (patchset #1 id:1 of... · e75b9f6e
      adamk authored
      Revert of Reland "Turn libbase into a component" (patchset #1 id:1 of https://codereview.chromium.org/2395553002/ )
      
      Reason for revert:
      Speculative revert due to very strange-looking win/dbg failures
      which reference SignedDivisionByConstant:
      
      https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/12736
      
      Original issue's description:
      > Reland "Turn libbase into a component"
      >
      > Original issue's description:
      > > Turn libbase into a component
      > >
      > > This is a precondition for turning libplatform into a component
      > >
      > > BUG=v8:5412
      > > R=jgruber@chromium.org,machenbach@chromium.org
      > > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_
      > dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe
      > >
      > > Committed: https://crrev.com/614e615775f732d71b5ee94ed29737d8de687104
      > > Cr-Commit-Position: refs/heads/master@{#39950}
      >
      > BUG=v8:5412
      > TBR=jgruber@chromium.org,machenbach@chromium.org
      > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
      >
      > Committed: https://crrev.com/17cb51254cafa932025e9980b60f89f756d411cb
      > Cr-Commit-Position: refs/heads/master@{#39969}
      
      TBR=jgruber@chromium.org,machenbach@chromium.org,jochen@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5412
      
      Review-Url: https://codereview.chromium.org/2396933002
      Cr-Commit-Position: refs/heads/master@{#40009}
      e75b9f6e
    • ahaas's avatar
      [wasm] Move test-signatures.h from test/cctest to test/common · 90080f2a
      ahaas authored
      R=titzer@chromium.org
      
      Review-Url: https://codereview.chromium.org/2395743003
      Cr-Commit-Position: refs/heads/master@{#39988}
      90080f2a
    • jarin's avatar
      Revert of [turbofan] Osr value typing + dynamic type checks on entry.... · ff81734c
      jarin authored
      Revert of [turbofan] Osr value typing + dynamic type checks on entry. (patchset #5 id:80001 of https://codereview.chromium.org/2384113002/ )
      
      Reason for revert:
      Tanks the world.
      
      Original issue's description:
      > [turbofan] Osr value typing + dynamic type checks on entry.
      >
      > This introduces a new OsrGuard node that is inserted during graph building
      > to guard the inferred type of the OSR value.
      >
      > The type of the OSR value is inferred by running the typer before OSR
      > deconstruction, and then taking the type from the phi that takes the
      > OSR value. After the deconstruction, we throw the types away.
      >
      > At the moment we only support the SignedSmall OSR type and we always
      > pick the tagged representation. Later, we might want to support more
      > types (such as Number) and pick better representations (int32/float64).
      >
      > This CL also removes the OSR deconstruction tests because they build
      > unrealistic graph (no effect chain, no loop termination). I considered
      > adding the effect chains to the tests, but this would make the tests
      > even more brittle.
      >
      > Committed: https://crrev.com/1f5dc90a900d222da44bee3eff171a2ba1e3c076
      > Cr-Commit-Position: refs/heads/master@{#39971}
      
      TBR=bmeurer@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review-Url: https://codereview.chromium.org/2395783002
      Cr-Commit-Position: refs/heads/master@{#39985}
      ff81734c
    • jarin's avatar
      [turbofan] Osr value typing + dynamic type checks on entry. · 1f5dc90a
      jarin authored
      This introduces a new OsrGuard node that is inserted during graph building
      to guard the inferred type of the OSR value.
      
      The type of the OSR value is inferred by running the typer before OSR
      deconstruction, and then taking the type from the phi that takes the
      OSR value. After the deconstruction, we throw the types away.
      
      At the moment we only support the SignedSmall OSR type and we always
      pick the tagged representation. Later, we might want to support more
      types (such as Number) and pick better representations (int32/float64).
      
      This CL also removes the OSR deconstruction tests because they build
      unrealistic graph (no effect chain, no loop termination). I considered
      adding the effect chains to the tests, but this would make the tests
      even more brittle.
      
      Review-Url: https://codereview.chromium.org/2384113002
      Cr-Commit-Position: refs/heads/master@{#39971}
      1f5dc90a
    • jochen's avatar
      Reland "Turn libbase into a component" · 17cb5125
      jochen authored
      Original issue's description:
      > Turn libbase into a component
      >
      > This is a precondition for turning libplatform into a component
      >
      > BUG=v8:5412
      > R=jgruber@chromium.org,machenbach@chromium.org
      > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_
      dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe
      >
      > Committed: https://crrev.com/614e615775f732d71b5ee94ed29737d8de687104
      > Cr-Commit-Position: refs/heads/master@{#39950}
      
      BUG=v8:5412
      TBR=jgruber@chromium.org,machenbach@chromium.org
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
      
      Review-Url: https://codereview.chromium.org/2395553002
      Cr-Commit-Position: refs/heads/master@{#39969}
      17cb5125
  8. 04 Oct, 2016 2 commits
  9. 21 Sep, 2016 1 commit
    • machenbach's avatar
      [gn] Add gn support to gcmole · a8951a96
      machenbach authored
      This also adds sources missing for PPC and x87, fixes a few
      missing files in gyp due to wrong quotation and a few that
      were simply not included.
      
      The gn files are now authoritative, but the gcmole gyp and
      gn source lists are enforced to match exactly.
      
      This additional enforcement helped finding the bugs above
      and will be removed when we deprecate the gyp files.
      
      BUG=614645
      NOTRY=true
      
      Review-Url: https://codereview.chromium.org/2352103002
      Cr-Commit-Position: refs/heads/master@{#39592}
      a8951a96
  10. 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
  11. 19 Sep, 2016 2 commits
  12. 16 Sep, 2016 1 commit
  13. 14 Sep, 2016 2 commits
  14. 22 Aug, 2016 1 commit
    • jochen's avatar
      [gn] add missing suppressions for linker warnings on windows · 24cb21e3
      jochen authored
      When doing a component build, some test binaries link against the object
      files directly, bypassing the components. This results, however, and
      rightly so, in linker warnings. In gyp, we just suppressed them. During
      the transition to gn, this was dropped for two binaries.
      
      Here I add the suppressions back in.
      
      Long term, we should either change the tests to go through the public
      API, or export the required symbols.
      
      BUG=chromium:633688
      R=jkummerow@chromium.org
      
      Review-Url: https://codereview.chromium.org/2261123003
      Cr-Commit-Position: refs/heads/master@{#38793}
      24cb21e3
  15. 25 Jul, 2016 1 commit
  16. 15 Jul, 2016 1 commit
    • dpranke's avatar
      Land v8-side changes to switch to v8_current_cpu in the GN build. · 6c3aaae9
      dpranke authored
      This change makes  the architecture that we target generated
      v8 code for a property of the current toolchain, rather than a
      global setting that applies to every toolchain.
      
      This will allow us to properly build two snapshots for two different
      architectures in a single build, which is needed for android
      webview/monochrome builds.
      
      R=brettw@chromium.org, jochen@chromium.org, michaelbai@chromium.org
      BUG=625383
      
      Review-Url: https://codereview.chromium.org/2116913002
      Cr-Commit-Position: refs/heads/master@{#37805}
      6c3aaae9
  17. 28 Jun, 2016 1 commit
  18. 27 Jun, 2016 3 commits
    • ssanfilippo's avatar
      This commit is the first step towards emitting unwinding information in · 7d073b03
      ssanfilippo authored
      the .eh_frame format as part of the jitdump generated when
      FLAG_perf_prof is enabled. The final goal is allowing precise unwinding
      of callchains that include JITted code when profiling V8 using perf.
      
      Unwinding information is stored in the body of code objects after the
      code itself, prefixed with its length and aligned to a 8-byte boundary.
      A boolean flag in the header signals its presence, resulting in zero
      memory overhead when the generation of unwinding info is disabled or
      no such information was attached to the code object.
      
      A new jitdump record type (with id 4) is introduced for specifying
      optional unwinding information for code load records. The EhFrameHdr
      struct is also introduced, together with a constructor to initialise it
      from the associated code object.
      
      At this stage no unwinding information is written to the jitdump, but
      the infrastructure for doing so is ready in place.
      
      BUG=v8:4899
      LOG=N
      
      Review-Url: https://codereview.chromium.org/1993653003
      Cr-Commit-Position: refs/heads/master@{#37296}
      7d073b03
    • machenbach's avatar
      [gn] Add remaining executables to gn · 1deca4ba
      machenbach authored
      This adds generate-bytecode-expectations and parser_shell.
      
      BUG=chromium:474921
      NOTRY=true
      
      Review-Url: https://codereview.chromium.org/2102483002
      Cr-Commit-Position: refs/heads/master@{#37287}
      1deca4ba
    • jochen's avatar
      Optionally invoke an interceptor on failed access checks · c34cc7a6
      jochen authored
      This superseeds all-can-read/all-can-write properties
      
      BUG=chromium:618305
      R=verwaest@chromium.org
      
      Review-Url: https://codereview.chromium.org/2087823002
      Cr-Commit-Position: refs/heads/master@{#37286}
      c34cc7a6
  19. 24 Jun, 2016 1 commit
    • bakkot's avatar
      add use counters for __defineGetter__ failing · b2ce1fa2
      bakkot authored
      We deviate from spec in that, in our implementation, __defineGetter__ on non-
      configurable properties returns false instead of throwing a TypeError. This commit
      adds a use counter to track how often we would be throwing an error we currently
      avoid, to determine if we can change to align with spec or if the spec is not
      implementable.
      
      BUG=v8:5070
      
      Review-Url: https://codereview.chromium.org/2089533002
      Cr-Commit-Position: refs/heads/master@{#37259}
      b2ce1fa2
  20. 20 Jun, 2016 1 commit
    • mlippautz's avatar
      Reland "[heap] Add page evacuation mode for new->new" · 7d5969da
      mlippautz authored
      Adds an evacuation mode that allows moving pages within new space without
      copying objects.
      
      Basic idea:
      a) Move page within new space
      b) Sweep page to make iterable and process ArrayBuffers
      c) Finish sweep till next scavenge
      
      Threshold is currently 70% live bytes, i.e., the same threshold we use
      to determine fragmented pages.
      
      This reverts commit 2263ee9b.
      
      BUG=chromium:581412
      LOG=N
      CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel
      
      Review-Url: https://codereview.chromium.org/2078863002
      Cr-Commit-Position: refs/heads/master@{#37104}
      7d5969da
  21. 17 Jun, 2016 2 commits
  22. 16 Jun, 2016 1 commit
  23. 14 Jun, 2016 2 commits
  24. 09 Jun, 2016 1 commit
    • oth's avatar
      [interpreter] Ensure optimizations preserve source positions. · a9af61d0
      oth authored
      The optimization stages in the bytecode generation pipeline must
      preserve source position information. Failure to preserve
      source position information could result in single stepping
      in the debugger misbehaving or mis-reporting in exception stack traces.
      
      This change adds tests intended to check optimizations do not damage
      source position info.
      
      BUG=v8:4280
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2042633002
      Cr-Commit-Position: refs/heads/master@{#36855}
      a9af61d0
  25. 07 Jun, 2016 1 commit
    • mlippautz's avatar
      Track based on JSArrayBuffer addresses on pages instead of the attached · 839f3fd4
      mlippautz authored
      backing store.
      
      Details of tracking:
      - Scavenge: New space pages are processes in bulk on the main thread
      - MC: Unswept pages are processed in bulk in parallel. All other pages
        are processed by the sweeper concurrently.
      
      BUG=chromium:611688
      LOG=N
      TEST=cctest/test-array-buffer-tracker/*
      CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel
      
      Review-Url: https://codereview.chromium.org/2036643002
      Cr-Commit-Position: refs/heads/master@{#36798}
      839f3fd4
  26. 03 Jun, 2016 1 commit
    • brucedawson's avatar
      Suppress compiler and linker warnings in v8 test binaries · dea0d747
      brucedawson authored
      VC++ complains about truncation of integer constants despite use of
      static_cast. This isn't very helpful as it gives no way of suppressing
      the warning in code, so this change suppresses it on the command line.
      
      Additionally, the linker complains about importing of locally defined
      functions in component builds. Until this is fixed the warnings should
      be suppressed.
      
      NOTRY=true
      
      Review-Url: https://codereview.chromium.org/2028353004
      Cr-Commit-Position: refs/heads/master@{#36695}
      dea0d747
  27. 02 Jun, 2016 2 commits