1. 11 Feb, 2016 34 commits
  2. 10 Feb, 2016 6 commits
    • mbrandy's avatar
      PPC: Preserve argument count for calls. · 0c3f7e93
      mbrandy authored
      Port 5de27c34
      
      Original commit message:
          Calls use registers for target, new_target and argument count.
          We don't always respect argument count. It didn't bite us in the past
          because the code paths where we clobbered it never used it, though
          in future it could be an issue.
      
      R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1687943002
      
      Cr-Commit-Position: refs/heads/master@{#33878}
      0c3f7e93
    • mbrandy's avatar
      PPC: [heap] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods · 1ab7f2f8
      mbrandy authored
      Port cfbd2561
      
      Original commit message:
      
          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().
      
      R=mlippautz@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=chromium:581412
      LOG=N
      
      Review URL: https://codereview.chromium.org/1687113002
      
      Cr-Commit-Position: refs/heads/master@{#33877}
      1ab7f2f8
    • mbrandy's avatar
      PPC: Mark null and undefined as undetectable, and use it to handle abstract... · d4bdd767
      mbrandy authored
      PPC: Mark null and undefined as undetectable, and use it to handle abstract equality comparison in the generic compare ic
      
      Port 3ce9e808
      
      Original commit message:
          Marking as undetectable makes abstract equality of null, undefined, and
          other undetectable objects easier. Supporting it in the generic compare
          IC significantly speeds up dynamic comparison between those values and
          JSReceivers by not falling back to the runtime.
      
      R=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1684133003
      
      Cr-Commit-Position: refs/heads/master@{#33876}
      d4bdd767
    • hpayer's avatar
      [heap] Improve IncrementalMarking::UpdateMarkingDequeAfterScavenge. · 0ecdd932
      hpayer authored
      Black allocation during scavenges will push objects on the marking deque that point to to-space. They should not be cleared.
      
      BUG=chromium:561449
      LOG=n
      
      Review URL: https://codereview.chromium.org/1683983003
      
      Cr-Commit-Position: refs/heads/master@{#33875}
      0ecdd932
    • ssanfilippo's avatar
      [Interpreter] Handle negative ints in generate-bytecode-expectations. · 8bfd4a5a
      ssanfilippo authored
      The previous implementation used GetRawOperand(), which allows a nicely
      unified handling of all scalar types, but returns an unsigned type.
      Because of this, generate-bytecode-expectations couldn't properly handle
      negative numbers.
      
      This commit differentiate between different types of scalar operands and
      uses the appropriate getter from i::interpreter::BytecodeArrayIterator,
      thus correctly handling signed types where needed.
      
      Two new helpers have been added to i::interpreter::Bytecodes:
      
       * IsImmediateOperandType()
       * IsIndexOperandType()
      
      with the intuitive semantic.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1684113002
      
      Cr-Commit-Position: refs/heads/master@{#33874}
      8bfd4a5a
    • rmcilroy's avatar
      [Interpreter] Make InterpreterAssembler a subclass of CodeStubAssembler. · d1c28849
      rmcilroy authored
      Moves InterpreterAssembler out of the compiler directory and into the
      interpreter directory. Makes InterpreterAssembler as subclass of
      CodeStubAssembler.
      
      As part of this change, the special bytecode dispatch linkage type
      is removed and instead we use a InterfaceDispatchDescriptor and
      a normal CodeStub linkage type.
      
      Removes a bunch of duplicated logic in InterpreterAssembler and
      instead uses the CodeStubAssembler logic. Refactors Interpreter
      with these changes.
      
      Modifies CodeStubAssembler to add the extra operations required
      by the Interpreter (extra call types, raw memory access and some extra
      binary ops). Also adds the ability for subclasses to add extra
      prologue and epilogue operations around calls, which is required
      for the Interpreter.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1673333004
      
      Cr-Commit-Position: refs/heads/master@{#33873}
      d1c28849