1. 14 Sep, 2015 1 commit
  2. 08 Sep, 2015 1 commit
    • bmeurer's avatar
      [runtime] Replace many buggy uses of %_CallFunction with %_Call. · db2ba190
      bmeurer authored
      The semantics of the %_CallFunction intrinsic seem to be very unclear,
      which resulted in a lot of bugs. Especially the combination with
      %IsSloppyModeFunction is always a bug, because the receiver would be
      wrapped in the wrong context. So the %IsSloppyModeFunction helper is
      gone now, and many of the buggy uses of %_CallFunction are also
      eliminated.
      
      If you ever need to call something with a different receiver, then
      %_Call is your friend now. It does what you want and implements the
      call sequence fully (and correct).
      
      BUG=v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1325573004
      
      Cr-Commit-Position: refs/heads/master@{#30634}
      db2ba190
  3. 28 Aug, 2015 1 commit
  4. 25 Aug, 2015 1 commit
    • bmeurer's avatar
      Correctify instanceof and make it optimizable. · 5d875a57
      bmeurer authored
      The previous hack with HInstanceOfKnownGlobal was not only slower,
      but also very brittle and required a lot of weird hacks to support it. And
      what's even more important it wasn't even correct (because a map check
      on the lhs is never enough for instanceof).
      
      The new implementation provides a sane runtime implementation
      for InstanceOf plus a fast case in the InstanceOfStub, combined with
      a proper specialization in the case of a known global in CrankShaft,
      which does only the prototype chain walk (coupled with a code
      dependency on the known global).
      
      As a drive-by-fix: Also fix the incorrect Object.prototype.isPrototypeOf
      implementation.
      
      BUG=v8:4376
      LOG=y
      
      Review URL: https://codereview.chromium.org/1304633002
      
      Cr-Commit-Position: refs/heads/master@{#30342}
      5d875a57
  5. 21 Aug, 2015 1 commit
  6. 31 Jul, 2015 1 commit
    • bmeurer's avatar
      [stubs] Unify (and optimize) implementation of ToObject. · 4fc6f547
      bmeurer authored
      This is the initial (big) step towards a more uniform implementation of
      the ToObject abstract operation (ES6 7.1.13), where we have a fallback
      implementation in JSReceiver::ToObject() and a fast (hydrogen) CodeStub
      to deal with the fast case (we should be able to do more cleanup on this
      in a followup CL).  For natives we expose the abstract operation via a
      %_ToObject intrinsic, also exposed via a macro TO_OBJECT, that unifies
      the previous confusion with TO_OBJECT_INLINE, ToObject, TO_OBJECT,
      $toObject and %$toObject.  Now the whole implementation of the abstract
      operation is context independent, meaning we don't need any magic in the
      builtins object nor the native context.
      
      R=mvstanton@chromium.org,yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1266013006
      
      Cr-Commit-Position: refs/heads/master@{#29953}
      4fc6f547
  7. 28 Jul, 2015 1 commit
  8. 24 Jul, 2015 1 commit
  9. 23 Jul, 2015 1 commit
  10. 22 Jul, 2015 1 commit
  11. 13 Jul, 2015 2 commits
  12. 08 Jul, 2015 3 commits
    • danno's avatar
      Reland: Add unoptimized/optimized variants of MathFloor TF code stub · 737b8573
      danno authored
      - Add a TurboFanIC class, derived from TurboFanCodeStub, that
        automatically distinguishes between versions of the IC called from
        optimized and unoptimized code.
      - Add appropriate InterfaceDescriptors for both the versions of the
        stub called from unoptimized and optimized code
      - Change the MathFloor TF stub generator to output either the
        for-optimized or for-unoptimized version based on the minor_key
        parameter.
      
      Committed: https://crrev.com/8f13b655b8a10dae2116dd18b32f09337bb2d410
      Cr-Commit-Position: refs/heads/master@{#29534}
      
      Review URL: https://codereview.chromium.org/1225943002
      
      Cr-Commit-Position: refs/heads/master@{#29539}
      737b8573
    • danno's avatar
      Revert of Add unoptimized/optimized variants of MathFloor TF code stub... · 7fc183af
      danno authored
      Revert of Add unoptimized/optimized variants of MathFloor TF code stub (patchset #4 id:60001 of https://codereview.chromium.org/1225943002/)
      
      Reason for revert:
      Failure on compiling runtime.js on windows
      
      Original issue's description:
      > Add unoptimized/optimized variants of MathFloor TF code stub
      >
      > - Add a TurboFanIC class, derived from TurboFanCodeStub, that
      >   automatically distinguishes between versions of the IC called from
      >   optimized and unoptimized code.
      > - Add appropriate InterfaceDescriptors for both the versions of the
      >   stub called from unoptimized and optimized code
      > - Change the MathFloor TF stub generator to output either the
      >   for-optimized or for-unoptimized version based on the minor_key
      >   parameter.
      >
      > Committed: https://crrev.com/8f13b655b8a10dae2116dd18b32f09337bb2d410
      > Cr-Commit-Position: refs/heads/master@{#29534}
      
      TBR=mvstanton@chromium.org,bmeurer@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/1220783006
      
      Cr-Commit-Position: refs/heads/master@{#29535}
      7fc183af
    • danno's avatar
      Add unoptimized/optimized variants of MathFloor TF code stub · 8f13b655
      danno authored
      - Add a TurboFanIC class, derived from TurboFanCodeStub, that
        automatically distinguishes between versions of the IC called from
        optimized and unoptimized code.
      - Add appropriate InterfaceDescriptors for both the versions of the
        stub called from unoptimized and optimized code
      - Change the MathFloor TF stub generator to output either the
        for-optimized or for-unoptimized version based on the minor_key
        parameter.
      
      Review URL: https://codereview.chromium.org/1225943002
      
      Cr-Commit-Position: refs/heads/master@{#29534}
      8f13b655
  13. 01 Jul, 2015 1 commit
    • danno's avatar
      Make context register implicit for CallInterfaceDescriptors · 7015fd20
      danno authored
      Up until now the context register was listed explicitly in each stub's
      CallInterfaceDescriptor. This was problematic, because it was listed
      first in the list of register parameters--which is fine for Crankshaft,
      which is more or less built to handle the context as the first
      parameter-- but not ideal for TurboFan, which adds the context at
      the end of all function parameters. Now the context register is no
      longer in the register list and can be handled appropriately by both
      compilers. Specifically, this allows the FunctionType specified for
      each CallInterfaceDescriptor to exactly match the parameter register
      list.
      
      Review URL: https://codereview.chromium.org/1211333003
      
      Cr-Commit-Position: refs/heads/master@{#29402}
      7015fd20
  14. 24 Jun, 2015 1 commit
    • danno's avatar
      Use big-boy Types to annotate interface descriptor parameters · c019d7f4
      danno authored
      - Thread Type::FunctionType through stubs and the TF pipeline.
      - Augment Typer to decorate parameter nodes with types from
        a Type::FunctionType associated with interface descriptors.
      - Factor interface descriptors into platform-specific and
        platform-independent components so that all descriptors share
        a common Type::FunctionType for all platforms.
      
      Review URL: https://codereview.chromium.org/1197703002
      
      Cr-Commit-Position: refs/heads/master@{#29248}
      c019d7f4
  15. 22 May, 2015 1 commit
  16. 20 May, 2015 1 commit
  17. 12 May, 2015 1 commit
  18. 11 May, 2015 1 commit
    • danno's avatar
      Add a MathFloor stub generated with TurboFan · abc35080
      danno authored
      This stub will be used as the basis of a Math.floor-specific CallIC to
      detect and track calls to floor that return -0.
      
      Along the way:
      - Create a TurboFanCodeStub super class from which the StringLength and
      MathRound TF stubs derive.
      - Fix the ugly hack that passes the first stub parameter as the "this"
      pointer in the the TF-compiled JS function.
      - Fix bugs in the ia32/x64 disassembler.
      
      Review URL: https://codereview.chromium.org/1137703002
      
      Cr-Commit-Position: refs/heads/master@{#28339}
      abc35080
  19. 06 May, 2015 1 commit
  20. 30 Apr, 2015 1 commit
  21. 19 Mar, 2015 1 commit
  22. 04 Feb, 2015 1 commit
  23. 29 Jan, 2015 2 commits
  24. 27 Jan, 2015 1 commit
  25. 16 Jan, 2015 1 commit
  26. 19 Nov, 2014 1 commit
  27. 18 Nov, 2014 3 commits
  28. 04 Nov, 2014 1 commit
  29. 30 Oct, 2014 1 commit
  30. 30 Sep, 2014 1 commit
  31. 29 Sep, 2014 1 commit
  32. 11 Sep, 2014 1 commit
  33. 08 Sep, 2014 1 commit
  34. 03 Sep, 2014 1 commit