1. 11 Sep, 2015 5 commits
  2. 10 Sep, 2015 23 commits
  3. 09 Sep, 2015 12 commits
    • mbrandy's avatar
      PPC: Fix "Desugar %DefaultConstructorCallSuper partially in parser." · f852f56c
      mbrandy authored
      R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1303333009
      
      Cr-Commit-Position: refs/heads/master@{#30666}
      f852f56c
    • mtrofin's avatar
      [turbofan] relative_id of splinters and their children. · 96c0e6f9
      mtrofin authored
      A LiveRange is identified by 2 integers: the vreg() of its TopLevel,
      which is the virtual register (operand) ID; and a relative_id(), which has
      no meaning in the program, but is valuable in debugging or tracing
      scenarios.
      
      This change ensures that relative_id is unique even in cases of splinter
      ranges and their children.
      
      Review URL: https://codereview.chromium.org/1318493005
      
      Cr-Commit-Position: refs/heads/master@{#30665}
      96c0e6f9
    • mstarzinger's avatar
      Desugar %DefaultConstructorCallSuper partially in parser. · 5b938f52
      mstarzinger authored
      This desugars the loading of the super constructor function using the
      %GetPrototype runtime function in the parser. The produced code remains
      the same while fewer parts need to be glued together.
      
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1321343004
      
      Cr-Commit-Position: refs/heads/master@{#30664}
      5b938f52
    • mstarzinger's avatar
      [runtime] Move AtomicIsLockFree out of Runtime class. · a14d2dfa
      mstarzinger authored
      R=binji@chromium.org
      
      Review URL: https://codereview.chromium.org/1327743004
      
      Cr-Commit-Position: refs/heads/master@{#30663}
      a14d2dfa
    • mbrandy's avatar
      PPC: [calls] Consistent call protocol for calls. · 422b0fa7
      mbrandy authored
      Port b37907ff
      
      Original commit message:
          The number of actual arguments should always be available, there's no
          point in trying to optimize away a simple assignment of an immediate to
          a register before some calls.
      
          The main motivation is to have a consistent state at the beginning of every
          function. Currently the arguments register (i.e. rax or eax) either contains
          the number of arguments or some random garbage depending on whether
          the callsite decided that the callee might need the information or not.
          This causes trouble with runtime implementations of functions that
          do not set internal_formal_parameter_count to the DontAdaptArguments
          sentinel (we don't have any of those yet), but also makes it impossible
          to sanity check the arguments in the callee, because the callee doesn't
          know whether the caller decided to pass the number of arguments or
          random garbage.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1314353007
      
      Cr-Commit-Position: refs/heads/master@{#30662}
      422b0fa7
    • mbrandy's avatar
      PPC: On a call to Array(), we patched a call ic. This CL makes do with a... · 50fa1e50
      mbrandy authored
      PPC: On a call to Array(), we patched a call ic. This CL makes do with a single dispatcher which inlines the special handling for the Array() call case, loading the allocation site found in the vector and calling the array constructor stub appropriately.
      
      Port ba7b6413
      
      R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1322103005
      
      Cr-Commit-Position: refs/heads/master@{#30661}
      50fa1e50
    • rmcilroy's avatar
      [Interpreter] Add support for property store operations. · 23f7d34d
      rmcilroy authored
      Adds support for property store operations via Store/KeyedStore ICs. Adds the
      following bytecodes:
       - StoreIC
       - KeyedStoreIC
      
      The --vector_store flag is now required for --ignition.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1319833004
      
      Cr-Commit-Position: refs/heads/master@{#30660}
      23f7d34d
    • mvstanton's avatar
      Crankshaft: consolidated element loads always deopted on seeing the hole · 164f92d2
      mvstanton authored
      Update the consolidated load case to carefully chose the load mode
      based on the consolidated elements kind.
      
      BUG=v8:4380
      LOG=N
      
      Review URL: https://codereview.chromium.org/1329793003
      
      Cr-Commit-Position: refs/heads/master@{#30659}
      164f92d2
    • mbrandy's avatar
      AIX: Fix 'may be used uninitialized' compiler errors · 44b9f1e7
      mbrandy authored
      Fix additional cases where the AIX compiler reports that a variable
      may be used uninitialized.
      
      R=danno@chromium.org, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1323313003
      
      Cr-Commit-Position: refs/heads/master@{#30658}
      44b9f1e7
    • mbrandy's avatar
      PPC: Reland Vector ICs: platform support for vector-based stores. · 1b191a5d
      mbrandy authored
      Port 40fbed06
      
      Original commit message:
          The last changes for vector store functionality, they are in 3 areas:
      
          1) The new vector [keyed] store code stubs - implementation.
          2) IC and handler compiler adjustments
          3) Odds and ends. A change in ast.cc, a test update, a small Oracle fix.
      
      R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1330883002
      
      Cr-Commit-Position: refs/heads/master@{#30657}
      1b191a5d
    • mbrandy's avatar
      PPC: [builtins] Unify the various versions of [[Call]] with a Call builtin. · 31a9396e
      mbrandy authored
      Port ccbb4ff0
      
      Original commit message:
          The new Call and CallFunction builtins supersede the current
          CallFunctionStub (and CallIC magic) and will be the single bottleneck
          for all calling, including the currently special Function.prototype.call
          and Function.prototype.apply builtins, which had handwritten (and
          not fully compliant) versions of CallFunctionStub, and also the
          CallIC(s), which where also slightly different.
      
          This also reduces the overhead for API function calls, which is still
          unnecessary high, but let's do that step-by-step.
      
          This also fixes a bunch of cases where the implicit ToObject for
          sloppy receivers was done in the wrong context (in the caller
          context instead of the callee context), which basically meant
          that we allowed cross context access to %ObjectPrototype%.
      
          MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1327093002
      
      Cr-Commit-Position: refs/heads/master@{#30656}
      31a9396e
    • mbrandy's avatar
      PPC: [runtime] Replace many buggy uses of %_CallFunction with %_Call. · 50c6b031
      mbrandy authored
      Port db2ba190
      
      Original commit message:
          The semantics of the %_CallFunction intrinsic seem to be very unclear,
          which resulted in a lot of bugs. Especially the combination with
          %IsSloppyModeFunction is always a bug, because the receiver would be
          wrapped in the wrong context. So the %IsSloppyModeFunction helper is
          gone now, and many of the buggy uses of %_CallFunction are also
          eliminated.
      
          If you ever need to call something with a different receiver, then
          %_Call is your friend now. It does what you want and implements the
          call sequence fully (and correct).
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1310303008
      
      Cr-Commit-Position: refs/heads/master@{#30655}
      50c6b031