1. 12 Jan, 2016 1 commit
    • hajimehoshi's avatar
      Add Add ExternalStringResourceBase::IsCompressible · 150887a1
      hajimehoshi authored
      This CL introduces ExternalStringResourceBase::IsCompressible.
      
      This CL is a preparation for CompressibleString, which can
      be compressed for memory reduction in Blink. We've found that
      JavaScript strings account for a relatively large part of Blink
      memory usage, and we are now trying to replace JavaScript String/
      AtomicString with CompressibleString.
      
      When a string is compressed, the original char data is deleted
      and V8 pointer cache becomes invalid. This CL introduces
      isCompressible  property and if an external string's isCompressble
      return true, this is stored short_external_*_map instead of
      external_*_map so that V8 always requires the char pointer whenever
      V8 needs the string data.
      
      BUG=chromium:574317
      LOG=n
      
      Review URL: https://codereview.chromium.org/1490193002
      
      Cr-Commit-Position: refs/heads/master@{#33224}
      150887a1
  2. 07 Jan, 2016 1 commit
  3. 22 Dec, 2015 4 commits
    • cbruni's avatar
      [proxies] Expose proxies in the API · 88b58591
      cbruni authored
      Add API-accessors for [[ProxyTarget]], [[ProxyHandler]]. Additionally
      create new proxies and revoke proxies via the API.
      
      BUG=v8:1543
      LOG=n
      
      Review URL: https://codereview.chromium.org/1542943002
      
      Cr-Commit-Position: refs/heads/master@{#33013}
      88b58591
    • littledan's avatar
      Reland of Add web compat workarounds for ES2015 RegExp semantics (patchset #3... · 424ef009
      littledan authored
      Reland of Add web compat workarounds for ES2015 RegExp semantics (patchset #3 id:40001 of https://codereview.chromium.org/1543723002/ )
      
      Unexpectedly, websites depend on doing feature testing with
      RegExp.prototype.sticky and browser testing with RegExp.prototype.toString().
      ES2015 newly throws exceptions for both of these. In order to enable shipping
      new ES2015 semantics, this patch puts in narrow workarounds for those two
      cases, keeping their old behavior. UseCounters are added for how often
      those particular cases come up, so we can see if it can be deprecated.
      
      This reland replaces problematic legacy const usage with var, to
      avoid issues with nosnap builds.
      
      R=yangguo
      CC=bmeurer
      BUG=v8:4637,v8:4617
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1545633002
      
      Cr-Commit-Position: refs/heads/master@{#33002}
      424ef009
    • bmeurer's avatar
      Revert of Add web compat workarounds for ES2015 RegExp semantics (patchset #3... · 08a1d1a2
      bmeurer authored
      Revert of Add web compat workarounds for ES2015 RegExp semantics (patchset #3 id:40001 of https://codereview.chromium.org/1543723002/ )
      
      Reason for revert:
      Breaks nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/5883
      
      Original issue's description:
      > Add web compat workarounds for ES2015 RegExp semantics
      >
      > Unexpectedly, websites depend on doing feature testing with
      > RegExp.prototype.sticky and browser testing with RegExp.prototype.toString().
      > ES2015 newly throws exceptions for both of these. In order to enable shipping
      > new ES2015 semantics, this patch puts in narrow workarounds for those two
      > cases, keeping their old behavior. UseCounters are added for how often
      > those particular cases come up, so we can see if it can be deprecated.
      >
      > R=yangguo
      > BUG=v8:4637,v8:4617
      > LOG=Y
      > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      >
      > Committed: https://crrev.com/98f819c3e0c92d54a306cdacadda73cf96d21b52
      > Cr-Commit-Position: refs/heads/master@{#32997}
      
      TBR=yangguo@google.com,yangguo@chromium.org,littledan@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4637,v8:4617
      
      Review URL: https://codereview.chromium.org/1546493003
      
      Cr-Commit-Position: refs/heads/master@{#32999}
      08a1d1a2
    • littledan's avatar
      Add web compat workarounds for ES2015 RegExp semantics · 98f819c3
      littledan authored
      Unexpectedly, websites depend on doing feature testing with
      RegExp.prototype.sticky and browser testing with RegExp.prototype.toString().
      ES2015 newly throws exceptions for both of these. In order to enable shipping
      new ES2015 semantics, this patch puts in narrow workarounds for those two
      cases, keeping their old behavior. UseCounters are added for how often
      those particular cases come up, so we can see if it can be deprecated.
      
      R=yangguo
      BUG=v8:4637,v8:4617
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1543723002
      
      Cr-Commit-Position: refs/heads/master@{#32997}
      98f819c3
  4. 20 Dec, 2015 1 commit
  5. 17 Dec, 2015 1 commit
  6. 16 Dec, 2015 1 commit
    • akodat's avatar
      Add Isolate::DiscardThreadSpecificMetadata method to embedder API. · aeb8073c
      akodat authored
      If many threads use the same Isolate (or many Isolates) and then
      terminate, their PerIsolateThreadData objects are never cleaned
      up, resulting in a slow memory leak and, worse, the
      PerIsolateThreadData chain getting larger and larger, adversely
      affecting performance.
      
      In this situation, embedders will now be encouraged to apply
      DiscardThreadSpecificMetadata against any Isolate a thread is
      done with, especially if the thread is about to terminate.
      
      Note that it is harmless to run DiscardThreadSpecificMetadata
      against an Isolate for which a thread has no thread data and
      per-Isolate thread data can be reestablished if a thread starts
      using an Isolate again after running DiscardThreadSpecificMetadata
      against it.
      
      It is, however, an embedder error to run
      DiscardThreadSpecificMetadata against an Isolate in thread with a
      Locker for the Isolate in the stack or against an Entered Isolate.
      
      This change cannot cause any change in behavior in existing apps
      as the only added coded can only be reached via the new
      DiscardThreadSpecificMetadata method.
      
      R=Jakob, jochen
      BUG=
      
      Review URL: https://codereview.chromium.org/1522703002
      
      Cr-Commit-Position: refs/heads/master@{#32909}
      aeb8073c
  7. 11 Dec, 2015 2 commits
  8. 10 Dec, 2015 5 commits
  9. 08 Dec, 2015 2 commits
  10. 07 Dec, 2015 1 commit
  11. 04 Dec, 2015 2 commits
  12. 03 Dec, 2015 3 commits
  13. 02 Dec, 2015 2 commits
  14. 01 Dec, 2015 1 commit
  15. 30 Nov, 2015 3 commits
  16. 26 Nov, 2015 4 commits
  17. 25 Nov, 2015 4 commits
  18. 24 Nov, 2015 1 commit
  19. 19 Nov, 2015 1 commit
    • kozyatinskiy's avatar
      [V8] Unify get function name for debugging purpose · 89e859fb
      kozyatinskiy authored
      Following logic is using for getting function name in JSFunction::GetDebugName:
      1. if function has displayName and its type is string then use it
      2. if function has defined property Function.name as value and its type string then use it
      3. otherwise use SharedFunctionInfo::DebugName as functionName.
      
      JSFunction::GetDebugName is exposed in V8 API and in FunctionMirror interface.
      
      BUG=chromium:17356
      R=yangguo@chromium.org,mstarzinger@chromium.org
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1449473005
      
      Cr-Commit-Position: refs/heads/master@{#32124}
      89e859fb