1. 22 Apr, 2016 2 commits
  2. 19 Apr, 2016 2 commits
  3. 18 Apr, 2016 2 commits
  4. 17 Apr, 2016 1 commit
  5. 14 Apr, 2016 2 commits
  6. 13 Apr, 2016 1 commit
  7. 06 Apr, 2016 3 commits
    • clemensh's avatar
      Prepare StackFrame hierarchy & iterators for WASM · 08454486
      clemensh authored
      This particularly changes the StackTraceFrameIterator such that is not
      only returs JavaScriptFrames, but also WasmFrames. Because of that,
      some methods (Summarize, function, receiver) were pulled up to the
      StandardFrame, with specializations in JavaScriptFrame and WasmFrame.
      
      R=jfb@chromium.org, titzer@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1861283002
      
      Cr-Commit-Position: refs/heads/master@{#35293}
      08454486
    • clemensh's avatar
      Refactoring: Avoid redundant checks in SingletonFor · 9a65c0ef
      clemensh authored
      SingletonFor(type, state) returns NULL and does nothing whenever SingletonFor(type) also return NULL. So checking this beforehand is redundant.
      
      This is my first CL, so I also use it to get familiar with the system.
      
      R=titzer@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1862753003
      
      Cr-Commit-Position: refs/heads/master@{#35285}
      9a65c0ef
    • bmeurer's avatar
      [generators] Decouple generator resume from fullcodegen. · 974721c6
      bmeurer authored
      Introduce a ResumeGeneratorTrampoline, which does the actual stack state
      reconstruction (currently always restores a fullcodegen frame), and
      introduce appropriate TurboFan builtins for %GeneratorPrototype%.next,
      %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on
      this native builtin.
      
      Also unify the flooding in case of step-in to always work based on
      JSFunction and remove the special casing for JSGeneratorObject.
      
      R=mstarzinger@chromium.org, neis@chromium.org
      TBR=rossberg@chromium.org
      BUG=chromium:513471
      LOG=n
      
      Review URL: https://codereview.chromium.org/1865833002
      
      Cr-Commit-Position: refs/heads/master@{#35283}
      974721c6
  8. 05 Apr, 2016 3 commits
  9. 01 Apr, 2016 1 commit
  10. 22 Mar, 2016 1 commit
    • bmeurer's avatar
      [builtins] Add support for JS builtins written in TurboFan. · 43fe7d68
      bmeurer authored
      This CL adds support for builtins with JavaScript linkage written using
      the TurboFan CodeStubAssembler, but with a JSCall descriptor (which was
      already supported thanks to a previous patch by Ben Smith). As a first
      example, we convert the Math.sqrt builtin and thereby get rid of the
      %_MathSqrt intrinsic, which causes trouble for the representation
      selection pass in the JavaScript pipeline.
      
      R=mstarzinger@chromium.org
      
      Review URL: https://codereview.chromium.org/1824993002
      
      Cr-Commit-Position: refs/heads/master@{#34989}
      43fe7d68
  11. 10 Mar, 2016 1 commit
  12. 09 Mar, 2016 1 commit
  13. 08 Mar, 2016 3 commits
    • mythria's avatar
      [Interpreter] Fixes translation from bailout id to code offset. · 01f603d2
      mythria authored
      BailoutId points to the next bytecode in the bytecode array. Code offset
      is set to one less than the bail out id. This would point to the end of the
      current instruction. Since we use it only for summarizing the frame and to
      compute the source position, it should be safe to set it to the end of current
      instruction.
      
      BUG=v8:4280, v8:4689
      LOG=N
      
      Review URL: https://codereview.chromium.org/1763783003
      
      Cr-Commit-Position: refs/heads/master@{#34580}
      01f603d2
    • danno's avatar
      Fix MSAN build after r34571 · 773c44f4
      danno authored
      Review URL: https://codereview.chromium.org/1776593002
      
      Cr-Commit-Position: refs/heads/master@{#34576}
      773c44f4
    • danno's avatar
      [runtime] Unify and simplify how frames are marked · 9dcd0857
      danno authored
      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).
      
      LOG=N
      
      Review URL: https://codereview.chromium.org/1696043002
      
      Cr-Commit-Position: refs/heads/master@{#34571}
      9dcd0857
  14. 04 Mar, 2016 1 commit
  15. 01 Mar, 2016 1 commit
  16. 26 Feb, 2016 1 commit
    • rmcilroy's avatar
      [Interpreter] Add support for cpu profiler logging. · cb29f9cd
      rmcilroy authored
      Adds support for cpu profiler logging to the interpreter. Modifies the
      the API to be passed AbstractCode objects instead of Code objects, and
      adds extra functions to AbstractCode which is required by log.cc and
      cpu-profiler.cc.
      
      The main change in sampler.cc is to determine if a stack frame is an
      interpreter stack frame, and if so, use the bytecode address as the pc
      for that frame. This allows sampling of bytecode functions. This
      requires adding support to SafeStackIterator to determine if a frame is
      interpreted, which we do by checking the PC against pre-stored addresses
      for the start and end of interpreter entry builtins.
      
      Also removes CodeDeleteEvents which are dead code and haven't
      been reported for some time.
      
      Still to do is tracking source positions which will be done in a
      followup CL.
      
      BUG=v8:4766
      LOG=N
      
      Review URL: https://codereview.chromium.org/1728593002
      
      Cr-Commit-Position: refs/heads/master@{#34321}
      cb29f9cd
  17. 25 Feb, 2016 1 commit
  18. 23 Feb, 2016 3 commits
  19. 18 Feb, 2016 1 commit
  20. 17 Feb, 2016 1 commit
  21. 16 Feb, 2016 2 commits
  22. 11 Feb, 2016 2 commits
  23. 10 Feb, 2016 1 commit
    • mlippautz's avatar
      [heap] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods · cfbd2561
      mlippautz authored
      Preparing the young generation for (real) non-contiguous backing memory, this
      change removes object masks that are used to compute containment in semi and new
      space. The masks are replaced by lookups for object tags and page headers, where
      possible.
      
      Details:
      - Use the fast checks (page header lookups) for containment in regular code.
      - Use the slow version that masks out the page start adress and iterates all
        pages of a space for debugging/verification.
      - The slow version works for off-heap/unmapped memory.
      - Encapsulate all checks for the old->new barrier in Heap::RecordWrite().
      
      BUG=chromium:581412
      LOG=N
      
      Review URL: https://codereview.chromium.org/1632913003
      
      Cr-Commit-Position: refs/heads/master@{#33857}
      cfbd2561
  24. 05 Feb, 2016 1 commit
  25. 04 Feb, 2016 2 commits