1. 01 Dec, 2015 33 commits
  2. 30 Nov, 2015 7 commits
    • mbrandy's avatar
      PPC: [interpreter] Switch passing of new.target to register. · 81b4015e
      mbrandy authored
      Port 3d004eea
      
      Original commit message:
          This passes the new.target value in a register instead of through a
          side-channel via the construct stub. The interpreter entry trampoline
          stores this value in a bytecode register so that it can be accessed
          directly by the interpreter. The size of the interpreter stack frame
          hence grows by one slot.
      
      R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4544
      LOG=n
      
      Review URL: https://codereview.chromium.org/1487863002
      
      Cr-Commit-Position: refs/heads/master@{#32425}
      81b4015e
    • bradnelson's avatar
      Passing zone to type objects so printing macros work in arm debug mode. · a6302320
      bradnelson authored
      The Type::Print method requires an explict zone, even for basic types
      on arm debug.
      
      This change introduced debug mode printing when types don't match:
      https://codereview.chromium.org/1471073003/
      
      Adding the zone parameter to make the arm build go green.
      
      BUG= https://code.google.com/p/v8/issues/detail?id=4203
      TEST=local arm build
      TBR=bbudge@chromium.org,titzer@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/1490593002
      
      Cr-Commit-Position: refs/heads/master@{#32424}
      a6302320
    • mbrandy's avatar
      PPC: [turbofan] Implemented the optional Float32RoundUp operator. · 78026a4b
      mbrandy authored
      R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1488563003
      
      Cr-Commit-Position: refs/heads/master@{#32423}
      78026a4b
    • mbrandy's avatar
      PPC: [turbofan] Fewer gap moves for tail calls · e53f736d
      mbrandy authored
      Port 51e992f1
      
      Original commit message:
          Restore frame pointer directly from stack rather than copying it and
          restoring. Also restore return address register directly on platforms that
          support it.
      
      R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4076
      LOG=n
      
      Review URL: https://codereview.chromium.org/1490563002
      
      Cr-Commit-Position: refs/heads/master@{#32422}
      e53f736d
    • mbrandy's avatar
      PPC: [turbofan] Implemented the optional Float32RoundDown operator. · 813ad56d
      mbrandy authored
      R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1485653003
      
      Cr-Commit-Position: refs/heads/master@{#32421}
      813ad56d
    • mbrandy's avatar
      PPC: [turbofan] Add general support for sp-based frame access · 19f33159
      mbrandy authored
      Port 51669873
      
      Original commit message:
          Some highlights of this CL:
          * Refactor the mutable state out of Frame into FrameAccessState,
            which is maintained and updated during code generation to
            record whether sp- or fp-based frame access is currently active
            and how deep the stack on top of the frame is.
          * The operand resultion in linkage.cc now uses FrameAccessState
            to determine how to generate frame-accessing operands.
          * Update all platforms to accurately track additionally pushed
            stack slots (e.g. arguments for calls) in the FrameAccessState.
          * Add a flag, --turbo_sp_frame_access, which forces all frame
            access to be sp-based whenever possible. This will likely never
            be used in production, but for testing it's useful in verifying
            that the stack-tracking of each platform maintained in the
            FrameAccessState is correct.
          * Use sp-based frame access for gap resolving before tail
            calls. This will allow for slightly more efficient restoration
            of the frame pointer in the tail call in a later CL.
          * Remove most ad hoc groping into CallDescriptors to
            determine if a frame is needed, instead consistently use
            predicates like needs_frame(), IsCFunctionCall() and
            IsJSFunctionCall().
      
      R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4076
      LOG=n
      
      Review URL: https://codereview.chromium.org/1484913003
      
      Cr-Commit-Position: refs/heads/master@{#32420}
      19f33159
    • bradnelson's avatar
      Make typing-asm match spec more closely around load/store, add more tests. · cf5546ba
      bradnelson authored
      Shifts of integer values are in some contexts collapsed by the parser into single literal AST nodes, rather than a direct representation of the parse tree. Confirming this behavior in tests.
      
      Integer TypedArrays are assumed to load and store "intish" values rather than more fine-grained type information. Reducing the precision of the typing information to match the spec and simplify the wasm generator.
      
      The asm spec requires load and store values of various "float?", "floatish", "double?" and "intish" types to ensure undefined values are not visible and that float32 rounding occurs at the right time. More closely matching this.
      
      Adding additional testing around unsigned / signed comparisons, loads and stores.
      
      Adding addition debug mode printing when asserting about types fail.
      
      BUG= https://code.google.com/p/v8/issues/detail?id=4203
      TEST=test-asm-validator, wasm side tests
      R=titzer@chromium.org,aseemgarg@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/1471073003
      
      Cr-Commit-Position: refs/heads/master@{#32419}
      cf5546ba