1. 02 Feb, 2016 2 commits
  2. 29 Jan, 2016 1 commit
    • jkummerow's avatar
      Introduce {FAST,SLOW}_STRING_WRAPPER_ELEMENTS · f4872f74
      jkummerow authored
      String wrappers (new String("foo")) are special objects: their string
      characters are accessed like elements, and they also have an elements
      backing store. This used to require a bunch of explicit checks like:
      
      if (obj->IsJSValue() && JSValue::cast(obj)->value()->IsString()) {
        /* Handle string characters */
      }
      // Handle regular elements (for string wrappers and other objects)
      obj->GetElementsAccessor()->Whatever(...);
      
      This CL introduces new ElementsKinds for string wrapper objects (one for
      fast elements, one for dictionary elements), which allow folding the
      special-casing into new StringWrapperElementsAccessors.
      
      No observable change in behavior is intended.
      
      Review URL: https://codereview.chromium.org/1612323003
      
      Cr-Commit-Position: refs/heads/master@{#33616}
      f4872f74
  3. 22 Jan, 2016 2 commits
    • cbruni's avatar
      Revert of [runtime] Do not use the enum-cache for non-prototype objects.... · 1c523a44
      cbruni authored
      Revert of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #1 id:1 of https://codereview.chromium.org/1612413003/ )
      
      Reason for revert:
      let me quickly revert the revert, wut?
      Goal: my CL should not be in the tree!
      
      Original issue's description:
      > Reland of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #1 id:1 of https://codereview.chromium.org/1619803003/ )
      >
      > Reason for revert:
      > the deopt issues have been taken care of by benedikt
      >
      > Original issue's description:
      > > Revert of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #10 id:180001 of https://codereview.chromium.org/1608523002/ )
      > >
      > > Reason for revert:
      > > tanks for-in significantly
      > >
      > > Original issue's description:
      > > > [runtime] Do not use the enum-cache for keys retrieval.
      > > >
      > > > Currently we fail to properly handle shadowed properties. If the
      > > > receiver defines a non-enumerable property that reappears on the
      > > > prototype as enumerable it incorrectly shows up in [[Enumerate]].
      > > > By extending the KeyAccumulator to track non-enumerable properties
      > > > we can now properly filter them out when seeing them further up in
      > > > the prototype-chain.
      > > >
      > > > BUG=v8:705
      > > > LOG=y
      > > >
      > > > Committed: https://crrev.com/ed24dfe80d1da0827b8571839ee52c03ad09c9c7
      > > > Cr-Commit-Position: refs/heads/master@{#33405}
      > >
      > > TBR=jkummerow@chromium.org,bmeurer@chromium.org
      > > # Not skipping CQ checks because original CL landed more than 1 days ago.
      > > BUG=v8:705
      > > LOG=n
      > >
      > > Committed: https://crrev.com/6e0573c6fff1c3041bab106d1197ab1b64aa9a6a
      > > Cr-Commit-Position: refs/heads/master@{#33443}
      >
      > TBR=jkummerow@chromium.org,bmeurer@chromium.org
      > # Skipping CQ checks because original CL landed less than 1 days ago.
      > NOPRESUBMIT=true
      > NOTREECHECKS=true
      > NOTRY=true
      > BUG=v8:705
      >
      > Committed: https://crrev.com/5569e270eda517b5ea74e3a7676b3230cbe2f7a9
      > Cr-Commit-Position: refs/heads/master@{#33458}
      
      TBR=jkummerow@chromium.org,bmeurer@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:705
      
      Review URL: https://codereview.chromium.org/1614313003
      
      Cr-Commit-Position: refs/heads/master@{#33459}
      1c523a44
    • cbruni's avatar
      Reland of [runtime] Do not use the enum-cache for non-prototype objects.... · 5569e270
      cbruni authored
      Reland of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #1 id:1 of https://codereview.chromium.org/1619803003/ )
      
      Reason for revert:
      the deopt issues have been taken care of by benedikt
      
      Original issue's description:
      > Revert of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #10 id:180001 of https://codereview.chromium.org/1608523002/ )
      >
      > Reason for revert:
      > tanks for-in significantly
      >
      > Original issue's description:
      > > [runtime] Do not use the enum-cache for keys retrieval.
      > >
      > > Currently we fail to properly handle shadowed properties. If the
      > > receiver defines a non-enumerable property that reappears on the
      > > prototype as enumerable it incorrectly shows up in [[Enumerate]].
      > > By extending the KeyAccumulator to track non-enumerable properties
      > > we can now properly filter them out when seeing them further up in
      > > the prototype-chain.
      > >
      > > BUG=v8:705
      > > LOG=y
      > >
      > > Committed: https://crrev.com/ed24dfe80d1da0827b8571839ee52c03ad09c9c7
      > > Cr-Commit-Position: refs/heads/master@{#33405}
      >
      > TBR=jkummerow@chromium.org,bmeurer@chromium.org
      > # Not skipping CQ checks because original CL landed more than 1 days ago.
      > BUG=v8:705
      > LOG=n
      >
      > Committed: https://crrev.com/6e0573c6fff1c3041bab106d1197ab1b64aa9a6a
      > Cr-Commit-Position: refs/heads/master@{#33443}
      
      TBR=jkummerow@chromium.org,bmeurer@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:705
      
      Review URL: https://codereview.chromium.org/1612413003
      
      Cr-Commit-Position: refs/heads/master@{#33458}
      5569e270
  4. 21 Jan, 2016 1 commit
    • cbruni's avatar
      Revert of [runtime] Do not use the enum-cache for non-prototype objects.... · 6e0573c6
      cbruni authored
      Revert of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #10 id:180001 of https://codereview.chromium.org/1608523002/ )
      
      Reason for revert:
      tanks for-in significantly
      
      Original issue's description:
      > [runtime] Do not use the enum-cache for keys retrieval.
      >
      > Currently we fail to properly handle shadowed properties. If the
      > receiver defines a non-enumerable property that reappears on the
      > prototype as enumerable it incorrectly shows up in [[Enumerate]].
      > By extending the KeyAccumulator to track non-enumerable properties
      > we can now properly filter them out when seeing them further up in
      > the prototype-chain.
      >
      > BUG=v8:705
      > LOG=y
      >
      > Committed: https://crrev.com/ed24dfe80d1da0827b8571839ee52c03ad09c9c7
      > Cr-Commit-Position: refs/heads/master@{#33405}
      
      TBR=jkummerow@chromium.org,bmeurer@chromium.org
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=v8:705
      LOG=n
      
      Review URL: https://codereview.chromium.org/1619803003
      
      Cr-Commit-Position: refs/heads/master@{#33443}
      6e0573c6
  5. 20 Jan, 2016 1 commit
    • cbruni's avatar
      [runtime] Do not use the enum-cache for keys retrieval. · ed24dfe8
      cbruni authored
      Currently we fail to properly handle shadowed properties. If the
      receiver defines a non-enumerable property that reappears on the
      prototype as enumerable it incorrectly shows up in [[Enumerate]].
      By extending the KeyAccumulator to track non-enumerable properties
      we can now properly filter them out when seeing them further up in
      the prototype-chain.
      
      BUG=v8:705
      LOG=y
      
      Review URL: https://codereview.chromium.org/1608523002
      
      Cr-Commit-Position: refs/heads/master@{#33405}
      ed24dfe8
  6. 18 Jan, 2016 1 commit
  7. 23 Dec, 2015 1 commit
  8. 22 Dec, 2015 1 commit
    • bmeurer's avatar
      [runtime] Rewrite Function.prototype.toString in C++. · 4acca53e
      bmeurer authored
      There's actually no point trying to do Function.prototype.toString in
      JavaScript, as it always calls into C++ at least once, so it only
      complicates things (esp. once we start optimizing bound functions).
      
      Drive-by-fix: Rename FunctionApply and FunctionCall builtins to also
      reflect the fact that these are builtins in the Function.prototype and
      not on Function itself.
      
      TBR=hpayer@chromium.org
      R=yangguo@chromium.org
      BUG=chromium:535408
      LOG=n
      
      Review URL: https://codereview.chromium.org/1540953004
      
      Cr-Commit-Position: refs/heads/master@{#32996}
      4acca53e
  9. 03 Dec, 2015 1 commit
  10. 02 Dec, 2015 1 commit
  11. 25 Nov, 2015 1 commit
  12. 18 Nov, 2015 1 commit
  13. 11 Nov, 2015 1 commit
  14. 04 Nov, 2015 1 commit
  15. 19 Oct, 2015 1 commit
  16. 07 Oct, 2015 1 commit
  17. 06 Oct, 2015 1 commit
  18. 05 Oct, 2015 1 commit
  19. 30 Sep, 2015 1 commit
  20. 25 Sep, 2015 1 commit
  21. 18 Sep, 2015 1 commit
  22. 17 Sep, 2015 1 commit
  23. 15 Sep, 2015 1 commit
  24. 14 Sep, 2015 2 commits
  25. 07 Sep, 2015 1 commit
  26. 02 Sep, 2015 2 commits
  27. 01 Sep, 2015 1 commit
  28. 31 Aug, 2015 2 commits
  29. 27 Aug, 2015 1 commit
  30. 25 Aug, 2015 3 commits
  31. 24 Aug, 2015 1 commit
  32. 20 Aug, 2015 2 commits