1. 22 Aug, 2016 1 commit
  2. 17 Aug, 2016 1 commit
  3. 12 Aug, 2016 1 commit
    • jkummerow's avatar
      [regexp][liveedit] Fix inconsistent JSArrays · bb9707c8
      jkummerow authored
      The hand-written KeyedLoadIC_Megamorphic stub didn't care about JSArray
      lengths, which made it lenient towards said lengths being wrong, but it
      will soon fix that bug and thereby become more strict.
      
      LiveEdit: factory->NewJSArray(capacity) doesn't set a length, so set it
      manually.
      RegExp: to avoid having to take care of array length updating in the
      RegExpExecStub, just use a JSObject instead.
      
      Review-Url: https://codereview.chromium.org/2244673002
      Cr-Commit-Position: refs/heads/master@{#38624}
      bb9707c8
  4. 04 Aug, 2016 1 commit
  5. 03 Aug, 2016 2 commits
  6. 02 Aug, 2016 1 commit
  7. 29 Jul, 2016 1 commit
  8. 28 Jul, 2016 2 commits
  9. 26 Jul, 2016 1 commit
  10. 22 Jul, 2016 1 commit
  11. 20 Jul, 2016 2 commits
  12. 18 Jul, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Add support for eager/soft deoptimization reasons. · db635d5b
      bmeurer authored
      So far TurboFan wasn't adding the deoptimization reasons for eager/soft
      deoptimization exits that can be used by either the DevTools profiler or
      the --trace-deopt flag. This adds basic support for deopt reasons on
      Deoptimize, DeoptimizeIf and DeoptimizeUnless nodes and threads through
      the reasons to the code generation.
      
      Also moves the DeoptReason to it's own file (to resolve include cycles)
      and drops unused reasons.
      
      R=jarin@chromium.org
      
      Review-Url: https://codereview.chromium.org/2161543002
      Cr-Commit-Position: refs/heads/master@{#37823}
      db635d5b
  13. 14 Jul, 2016 4 commits
  14. 13 Jul, 2016 1 commit
  15. 11 Jul, 2016 2 commits
  16. 06 Jul, 2016 1 commit
  17. 05 Jul, 2016 1 commit
    • zhengxing.li's avatar
      X87: [builtins] Add receiver to builtin exit frames. · e043dcb5
      zhengxing.li authored
        port f59a2335 (r37500)
      
        original commit message:
        Stack trace generation requires access to the receiver; and while the
        receiver is already on the stack, we cannot determine its position
        during stack trace generation (it's stored in argv[0], and argc is only
        stored in a callee-saved register).
      
        This patch grants access to the receiver by pushing argc onto builtin
        exit frames as an extra argument. Compared to simply pushing the
        receiver, this requires an additional dereference during stack trace
        generation, but one fewer during builtin calls.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2118413002
      Cr-Commit-Position: refs/heads/master@{#37511}
      e043dcb5
  18. 04 Jul, 2016 1 commit
    • zhengxing.li's avatar
      X87: [builtins] New frame type for exits to C++ builtins. · f50725d3
      zhengxing.li authored
        port 5febc27b (r37416)
      
        original commit message:
        Prior to this commit, calls to C++ builtins created standard exit
        frames, which are skipped when constructing JS stack traces. In order to
        show these calls on traces, we introduce a new builtin exit frame type.
      
        Builtin exit frames contain target and new.target on the stack and are
        not skipped during stack trace construction.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2120873002
      Cr-Commit-Position: refs/heads/master@{#37490}
      f50725d3
  19. 01 Jul, 2016 4 commits
  20. 30 Jun, 2016 2 commits
  21. 29 Jun, 2016 2 commits
  22. 28 Jun, 2016 3 commits
    • ahaas's avatar
      Reland [heap] Avoid the use of cells to point from code to new-space objects. · 5e058540
      ahaas authored
      The reason for reverting is: This breaks gc-stress bot:
      https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot
      
      Abortion of compaction could cause duplicate entries in the typed-old-to-new remembered set. These duplicates could cause a DCHECK to trigger which checks that slots recorded in the remembered set never point to to-space. This reland-CL allows duplicates in the remembered set by removing the DCHECK, and additionally clears entries in the remembered set if objects are moved.
      
      Original issue's description:
      
      Cells were needed originally because there was no typed remembered set to
      record direct pointers from code space to new space. A previous
      CL (https://codereview.chromium.org/2003553002/) already introduced
      the remembered set, this CL uses it.
      
      This CL
      * stores direct pointers in code objects, even if the target is in new space,
      * records the slot of the pointer in typed-old-to-new remembered set,
      * adds a list which stores weak code-to-new-space references,
      * adds a test to test-heap.cc for weak code-to-new-space references,
      * removes prints in tail-call-megatest.js
      
      Review-Url: https://codereview.chromium.org/2097023002
      Cr-Commit-Position: refs/heads/master@{#37325}
      5e058540
    • zhengxing.li's avatar
      X87: [builtins] NonNumberToNumber and StringToNumber now use CallRuntime... · 90fa326a
      zhengxing.li authored
      X87: [builtins] NonNumberToNumber and StringToNumber now use CallRuntime instead of TailCallRuntime.
      
        port b5c69cbf (r37132)
      
        original commit message:
        With the tail call, pointers to the JS heap could be pushed on a
        js-to-wasm frame. On the js-to-wasm frame, however, this pointer would
        not be updated by the GC.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2108543002
      Cr-Commit-Position: refs/heads/master@{#37319}
      90fa326a
    • zhengxing.li's avatar
      X87: [wasm] Separate compilation from instantiation. · fe70bda4
      zhengxing.li authored
        port c1d01aea (r37086)
      
        original commit message:
        Compilation of wasm functions happens before instantiation. Imports are linked afterwards, at instantiation time. Globals and memory are also
        allocated and then tied in via relocation at instantiation time.
      
        This paves the way for implementing Wasm.compile, a prerequisite to
        offering the compiled code serialization feature.
      
        Currently, the WasmModule::Compile method just returns a fixed array
        containing the code objects. More appropriate modeling of the compiled module to come.
      
        Opportunistically centralized the logic on how to update memory
        references, size, and globals, since that logic is the exact same on each
        architecture, except for the actual storing of values back in the
        instruction stream.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2100393003
      Cr-Commit-Position: refs/heads/master@{#37307}
      fe70bda4
  23. 27 Jun, 2016 4 commits
    • bbudge's avatar
      [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. · 257336d2
      bbudge authored
      Replaces ArchDefault method with Crankshaft and Turbofan getters.
      Eliminates IsAllocated method on Register, FloatRegister, DoubleRegister.
      Eliminates ToString method too.
      Changes call sites to access appropriate arch default RegisterConfiguration.
      
      LOG=N
      BUG=
      
      Review-Url: https://codereview.chromium.org/2092413002
      Cr-Commit-Position: refs/heads/master@{#37297}
      257336d2
    • ssanfilippo's avatar
      This commit is the first step towards emitting unwinding information in · 7d073b03
      ssanfilippo authored
      the .eh_frame format as part of the jitdump generated when
      FLAG_perf_prof is enabled. The final goal is allowing precise unwinding
      of callchains that include JITted code when profiling V8 using perf.
      
      Unwinding information is stored in the body of code objects after the
      code itself, prefixed with its length and aligned to a 8-byte boundary.
      A boolean flag in the header signals its presence, resulting in zero
      memory overhead when the generation of unwinding info is disabled or
      no such information was attached to the code object.
      
      A new jitdump record type (with id 4) is introduced for specifying
      optional unwinding information for code load records. The EhFrameHdr
      struct is also introduced, together with a constructor to initialise it
      from the associated code object.
      
      At this stage no unwinding information is written to the jitdump, but
      the infrastructure for doing so is ready in place.
      
      BUG=v8:4899
      LOG=N
      
      Review-Url: https://codereview.chromium.org/1993653003
      Cr-Commit-Position: refs/heads/master@{#37296}
      7d073b03
    • bbudge's avatar
      [Turbofan] Allow compiler to elide complex aliasing code. · 5107f1c1
      bbudge authored
      - Add a const bool kSimpleFPAliasing variable for each platform so it's
      easier for the compiler to eliminate dead code.
      - Modify RegisterAllocator to use it.
      
      LOG=N
      BUG=v8:4124
      
      Review-Url: https://codereview.chromium.org/2101473002
      Cr-Commit-Position: refs/heads/master@{#37288}
      5107f1c1
    • zhengxing.li's avatar
      X87: [builtins] Always pass target and new target to C++ builtins. · d1e6a2e2
      zhengxing.li authored
        port f5b83dec (r37061)
      
        original commit message:
        As a first step towards showing builtin frames in stack traces, we will now
        push target and new target unconditionally.
      
        Since the various specializations of BuiltinArguments are made redundant by
        this change, we can remove them and all related code.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2095323002
      Cr-Commit-Position: refs/heads/master@{#37282}
      d1e6a2e2