1. 28 Oct, 2016 5 commits
    • jgruber's avatar
      [debugger] Various break-related functionality in test wrapper · 83b560b0
      jgruber authored
      This CL adds simple implementation of break and stepping-related functionality
      as required by the debug-step.js test. This includes
      
      * stepOver, stepInto, stepOut
      * setBreakPoint
      * clearBreakPoint
      * evaluate
      
      Some of these, e.g. setBreakPoint are not fully implemented for all cases but
      only for the ones we need right now.
      
      One interesting result of this is that using the inspector protocol is roughly
      14x slower for debug-step.js (14s instead of 0.5s). One cause of this seems to
      be iteration over all object properties in toProtocolValue, which is used to
      serialize JS objects before being sent over the wire (e.g. FrameMirrors).  This
      is something that should be fixed at some point. In the meantime, the test now
      runs 100 instead of 1000 iterations.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2447073007
      Cr-Commit-Position: refs/heads/master@{#40636}
      83b560b0
    • jgruber's avatar
      [debugger] Add initial skeleton for debug test wrapper · c8d2a8cf
      jgruber authored
      This adds a wrapper class around the inspector protocol for use in
      debugger tests. The interface is intended to stay similar to the
      currently exposed DebuggerContext.
      
      Right now, we support adding a listener, (partial) handling of the
      AfterCompile event, and enabling/disabling the debugger.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2451153003
      Cr-Commit-Position: refs/heads/master@{#40635}
      c8d2a8cf
    • jgruber's avatar
      [regexp] Use SameValue in @@search as specced · 534222d1
      jgruber authored
      BUG=v8:5339
      
      Review-Url: https://codereview.chromium.org/2452923002
      Cr-Commit-Position: refs/heads/master@{#40634}
      534222d1
    • clemensh's avatar
      Fix detection of BUILTIN functions · 1cac34ed
      clemensh authored
      In the asm.js to wasm pipeline, we generate an entry function with
      BUILTIN code, but still attached to a TYPE_NORMAL script.
      This fix avoids trying to set a breakpoint there, resulting in a crash
      on DCHECK(shared->HasDebugInfo()).
      
      Also add two inspector tests to track regressions.
      
      BUG=v8:5568
      R=titzer@chromium.org,mstarzinger@chromium.org
      
      Review-Url: https://codereview.chromium.org/2457433002
      Cr-Commit-Position: refs/heads/master@{#40633}
      1cac34ed
    • zhengxing.li's avatar
      X87: [crankshaft] Support all oddballs for truncating TaggedToI changes. · 77ae6884
      zhengxing.li authored
        port 7d383be9 (r40608)
      
        original commit message:
        For inputs to truncating binary operations like <<, | or >>>, support
        all Oddballs not just undefined, true and false. This unifies treatment
        of these truncations in Crankshaft and TurboFan, and is very easy
        nowadays, since the memory layout of Oddball and HeapNumber is
        compatible.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2450093007
      Cr-Commit-Position: refs/heads/master@{#40632}
      77ae6884
  2. 27 Oct, 2016 25 commits
  3. 26 Oct, 2016 10 commits
    • aseemgarg's avatar
      [wasm] add atomic opcodes · 4156d940
      aseemgarg authored
      R=titzer@chromium.org,binji@chromium.org
      BUG=v8:4614
      
      Review-Url: https://codereview.chromium.org/2423883003
      Cr-Commit-Position: refs/heads/master@{#40606}
      4156d940
    • rob's avatar
      Avoid using stale InspectedContext pointers · cb2a39d3
      rob authored
      BUG=657568
      TEST=Manually, see bug report
      
      Review-Url: https://codereview.chromium.org/2432163004
      Cr-Commit-Position: refs/heads/master@{#40605}
      cb2a39d3
    • cbruni's avatar
      [tools] Support custom script injection for callstats.py · e2effcbc
      cbruni authored
      This is a poor-man's solution to trigger page interactions.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2455623002
      Cr-Commit-Position: refs/heads/master@{#40604}
      e2effcbc
    • bbudge's avatar
      [Turbofan] Add USE for local used only by DCHECK. · 51bbfc7d
      bbudge authored
      LOG=N
      BUG=v8:4124
      
      Review-Url: https://codereview.chromium.org/2453813002
      Cr-Commit-Position: refs/heads/master@{#40603}
      51bbfc7d
    • heimbuef's avatar
      New zone-backed list datastructure to replace ZoneList · 610c0d75
      heimbuef authored
      Since ZoneLists are essentially non-standard ZoneVectors and have a bad
      growing behaviour (ZoneList-allocations make up ~50% of website parse
      zone memory) we should stop using them. The zone-containers are merely
      a clean-up, with none of them actually better suited to be used with
      zones. This new datastructure allows most operations of a LinkedList (
      except pop_first and insertAt/removeAt) but uses about the same memory
      as a well-initialized ZoneVector/ZoneList (<3% overhead with reasonably
      large lists). It also never attempts to free memory again (which would
      not work in zones anyway).
      
      The ZoneChunkList is essentially a doubly-linked-list of arrays of
      variable size.
      
      Some test-results where I tried storing 16k pointers in different list
      types (lists themselves also zone-allocated):
      
      List type                       Zone memory used   Time taken
      -----------------------------------------------------------------------
      Zone array (for comparison)     131072 B
      
      Ideally initialized ZoneList    131088 B           0.062ms
      
      ChunkZoneList                   134744 B           0.052ms <--new thing
      
      ZoneDeque                       141744 B
      
      ZoneLinkedList                  393264 B
      
      Initially empty ZoneList        524168 B           0.171ms <--right now
      
      ChunkZoneList only push_front   524320 B
      
      Review-Url: https://codereview.chromium.org/2449383002
      Cr-Commit-Position: refs/heads/master@{#40602}
      610c0d75
    • titzer's avatar
      [wasm] Remove the "Wasm" object. · 24d38be1
      titzer authored
      BUG=chromium:575167, v8:5507
      
      R=rossberg@chromium.org,bradnelson@chromium.org
      CC=ahaas@chromium.org
      
      Review-Url: https://codereview.chromium.org/2447013004
      Cr-Commit-Position: refs/heads/master@{#40601}
      24d38be1
    • titzer's avatar
      [wasm] Binary 0xD: update encoding of opcodes, types, and add immediates. · 3f207617
      titzer authored
      R=ahaas@chromium.org,rossberg@chromium.org,binji@chromium.org,bradnelson@chromium.org
      BUG=chromium:575167, chromium:659591
      
      Review-Url: https://codereview.chromium.org/2440953002
      Cr-Commit-Position: refs/heads/master@{#40600}
      3f207617
    • clemensh's avatar
      Improve exception printing for debug · ff5194e3
      clemensh authored
      If there is no stack trace (which happens), then at least print the
      location of the message.
      
      R=titzer@chromium.org,ahaas@chromium.org
      
      Review-Url: https://codereview.chromium.org/2450253002
      Cr-Commit-Position: refs/heads/master@{#40599}
      ff5194e3
    • mythria's avatar
      [Interpreter] Tune runtime profiler parameters for turbofan and OSR. · 46a1b34e
      mythria authored
      Turbofan requires a different tuning when compared to crankshaft. Crankshaft
      typically has faster compilation times when compared to turbofan. Hence,
      added a new parameter, so that crankshaft and turbofan can be tuned
      independently.
      
      OSRing too soon is not good for performance, especially for sunspider
      benchmarks. Since they are really small functions and optimizing them is
      more expensive than just executing unoptimized code. Tuning the code size
      threshold of the functions that can be OSRed from ignition.
      
      BUG=v8:4280,chromium:659111
      
      Review-Url: https://codereview.chromium.org/2445203003
      Cr-Commit-Position: refs/heads/master@{#40598}
      46a1b34e
    • bbudge's avatar
      [Turbofan] Add concept of FP register aliasing on ARM 32. · 09ab8e6a
      bbudge authored
      - Modifies RegisterConfiguration to specify complex aliasing on ARM 32.
      - Modifies RegisterAllocator to consider aliasing.
      - Modifies ParallelMove::PrepareInsertAfter to handle aliasing.
      - Modifies GapResolver to split wider register moves when interference
      with smaller moves is detected.
      - Modifies MoveOptimizer to handle aliasing.
      - Adds ARM 32 macro-assembler pseudo move instructions to handle cases where
        split moves don't correspond to actual s-registers.
      - Modifies CodeGenerator::AssembleMove and AssembleSwap to handle moves of
        different widths, and moves involving pseudo-s-registers.
      - Adds unit tests for FP operand interference checking and PrepareInsertAfter.
      - Adds more tests of FP for the move optimizer and register allocator.
      
      LOG=N
      BUG=v8:4124
      
      Review-Url: https://codereview.chromium.org/2410673002
      Cr-Commit-Position: refs/heads/master@{#40597}
      09ab8e6a