1. 10 Mar, 2016 1 commit
    • zhengxing.li's avatar
      X87: [runtime] Unify and simplify how frames are marked. · 7a51f8c8
      zhengxing.li authored
        port 9dcd0857 (r34571)
      
        original commit message:
        Before this CL, various code stubs used different techniques
        for marking their frames to enable stack-crawling and other
        access to data in the frame. All of them were based on a abuse
        of the "standard" frame representation, e.g. storing the a
        context pointer immediately below the frame's fp, and a
        function pointer after that. Although functional, this approach
        tends to make stubs and builtins do an awkward, unnecessary
        dance to appear like standard frames, even if they have
        nothing to do with JavaScript execution.
      
        This CL attempts to improve this by:
      
        * Ensuring that there are only two fundamentally different
          types of frames, a "standard" frame and a "typed" frame.
          Standard frames, as before, contain both a context and
          function pointer. Typed frames contain only a minimum
          of a smi marker in the position immediately below the fp
          where the context is in standard frames.
        * Only interpreted, full codegen, and optimized Crankshaft and
          TurboFan JavaScript frames use the "standard" format. All
          other frames use the type frame format with an explicit
          marker.
        * Typed frames can contain one or more values below the
          type marker. There is new magic macro machinery in
          frames.h that simplifies defining the offsets of these fields
          in typed frames.
        * A new flag in the CallDescriptor enables specifying whether
          a frame is a standard frame or a typed frame. Secondary
          register location spilling is now only enabled for standard
          frames.
        * A zillion places in the code have been updated to deal with
          the fact that most code stubs and internal frames use the
          typed frame format. This includes changes in the
          deoptimizer, debugger, and liveedit.
        * StandardFrameConstants::kMarkerOffset is deprecated,
          (CommonFrameConstants::kContextOrFrameTypeOffset
          and StandardFrameConstants::kFrameOffset are now used
          in its stead).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1774353002
      
      Cr-Commit-Position: refs/heads/master@{#34648}
      7a51f8c8
  2. 29 Feb, 2016 1 commit
  3. 30 Sep, 2015 1 commit
  4. 24 Sep, 2015 1 commit
    • chunyang.dai's avatar
      X87: [builtins] Add support for NewTarget to Execution::New. · 5ced12c1
      chunyang.dai authored
      port 1dfac69f (r30857).
      
      original commit message:
      
          Introduce new builtins Construct and ConstructFunction (in line
          with the Call and CallFunction builtins that we already have) as
          proper bottleneck for Construct and [[Construct]] on JSFunctions.
          Use these builtins to support passing NewTarget from C++ to
          JavaScript land.
      
          Long-term we want the CallConstructStub to be used for
          gathering feedback on entry to construction chain (i.e. the
          initial new Foo), and use the Construct builtins to do the
          actual work inside the construction chain (i.e. calling into
          super and stuff).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1362573002
      
      Cr-Commit-Position: refs/heads/master@{#30899}
      5ced12c1
  5. 13 Jul, 2015 1 commit
  6. 07 Jul, 2015 1 commit
  7. 01 Jul, 2015 1 commit
  8. 10 Mar, 2015 1 commit
  9. 23 May, 2014 1 commit
  10. 20 May, 2014 1 commit
  11. 29 Apr, 2014 1 commit
  12. 12 Mar, 2014 1 commit
  13. 11 Mar, 2014 2 commits
  14. 07 Jan, 2014 1 commit
  15. 30 Jul, 2013 1 commit
  16. 08 Apr, 2013 1 commit
  17. 06 Mar, 2013 1 commit
  18. 05 Feb, 2013 1 commit
  19. 12 Jun, 2012 1 commit
  20. 24 Jan, 2012 1 commit
  21. 29 Nov, 2011 1 commit
  22. 11 Nov, 2011 3 commits
  23. 12 Aug, 2011 1 commit
  24. 13 May, 2011 1 commit
  25. 01 Apr, 2011 1 commit
  26. 22 Mar, 2011 1 commit
  27. 18 Mar, 2011 3 commits
  28. 07 Dec, 2010 3 commits
  29. 04 Nov, 2009 1 commit
  30. 29 Oct, 2009 1 commit
  31. 27 Oct, 2009 1 commit
  32. 26 Oct, 2009 2 commits