1. 26 Feb, 2016 16 commits
    • bmeurer's avatar
      [test] Remove tests from mjsunit.status that no longer exist. · f48c2970
      bmeurer authored
      R=mstarzinger@chromium.org
      BUG=v8:4768
      LOG=n
      
      Review URL: https://codereview.chromium.org/1737273003
      
      Cr-Commit-Position: refs/heads/master@{#34323}
      f48c2970
    • bmeurer's avatar
      [turbofan] Bailout if LoadBuffer typing assumption doesn't hold. · 58ab990a
      bmeurer authored
      The LoadBuffer operator that is used for asm.js heap access claims to
      return only the appropriate typed array type, but out of bounds access
      could make it return undefined. So far we tried to "repair" the graph
      later if we see that our assumption was wrong, and for various reasons
      that worked for some time. But now that wrong type information that is
      propagated earlier is picked up appropriately and thus we generate wrong
      code, i.e. we in the repro case we feed NaN into ChangeFloat64Uint32 and
      thus get 2147483648 instead of 0 (with proper JS truncation).
      
      This was always considered a temporary hack until we have a proper
      asm.js pipeline, but since we still run asm.js through the generic
      JavaScript pipeline, we have to address this now. Quickfix is to just
      bailout from the pipeline when we see that the LoadBuffer type was
      wrong, i.e. the result of LoadBuffer is not properly truncated and thus
      undefined or NaN would be observable.
      
      R=mstarzinger@chromium.org, jarin@chromium.org
      BUG=chromium:589792
      LOG=y
      
      Review URL: https://codereview.chromium.org/1740123002
      
      Cr-Commit-Position: refs/heads/master@{#34322}
      58ab990a
    • rmcilroy's avatar
      [Interpreter] Add support for cpu profiler logging. · cb29f9cd
      rmcilroy authored
      Adds support for cpu profiler logging to the interpreter. Modifies the
      the API to be passed AbstractCode objects instead of Code objects, and
      adds extra functions to AbstractCode which is required by log.cc and
      cpu-profiler.cc.
      
      The main change in sampler.cc is to determine if a stack frame is an
      interpreter stack frame, and if so, use the bytecode address as the pc
      for that frame. This allows sampling of bytecode functions. This
      requires adding support to SafeStackIterator to determine if a frame is
      interpreted, which we do by checking the PC against pre-stored addresses
      for the start and end of interpreter entry builtins.
      
      Also removes CodeDeleteEvents which are dead code and haven't
      been reported for some time.
      
      Still to do is tracking source positions which will be done in a
      followup CL.
      
      BUG=v8:4766
      LOG=N
      
      Review URL: https://codereview.chromium.org/1728593002
      
      Cr-Commit-Position: refs/heads/master@{#34321}
      cb29f9cd
    • ishell's avatar
      [crankshaft] Remove useless HCallJSFunction instruction. · 9f4c3e74
      ishell authored
      Everything that HCallJSFunction does can be easily done using more general HInvokeFunction, so there's no need to have this dedicated instruction around.
      
      Review URL: https://codereview.chromium.org/1728423002
      
      Cr-Commit-Position: refs/heads/master@{#34320}
      9f4c3e74
    • oth's avatar
      [interpreter] Preparation for 32-bit operands. · 1db484f7
      oth authored
      Extends the constant pool to deal with more slices.
      
      Adds ReadUnalignedUInt32().
      
      BUG=v8:4280,v8:4747
      LOG=N
      
      Review URL: https://codereview.chromium.org/1731893003
      
      Cr-Commit-Position: refs/heads/master@{#34319}
      1db484f7
    • bmeurer's avatar
      [interpreter] ToObject never yields null. · 06fe8afe
      bmeurer authored
      We don't need to compare the result of ToObject against null, since
      ToObject will always yield a proper receiver (or throw a TypeError).
      
      R=rmcilroy@chromium.org
      
      Review URL: https://codereview.chromium.org/1736233002
      
      Cr-Commit-Position: refs/heads/master@{#34318}
      06fe8afe
    • bmeurer's avatar
      [runtime] Remove obsolete %Apply and %TailCall runtime entries. · 7f11fba7
      bmeurer authored
      The %TailCall runtime entry and the %_TailCall intrinsic is not used,
      and will never be used (because %TailCall doesn't actually do a tail
      call). We will soon have proper ES6 tail calls, which are correct and
      properly tested.
      
      The %Apply runtime entry is basically a super-slow, less correct version
      of Reflect.apply, so we can as well just use Reflect.apply, which is
      exposed to builtins via %reflect_apply.
      
      R=ishell@chromium.org
      
      Review URL: https://codereview.chromium.org/1739233002
      
      Cr-Commit-Position: refs/heads/master@{#34317}
      7f11fba7
    • bmeurer's avatar
      [runtime] Make target checking for %Call and %_Call consistent. · 45876462
      bmeurer authored
      The %_Call intrinsic (if supported by the compiler) is lowered directly
      to the Call builtin and thus throws a TypeError if the target is not
      callable. The %Call runtime function also eventually calls into the Call
      builtin, but had an early abort if the target is not a JSReceiver, which
      is unnecessary and leads to various test failures for Ignition.
      
      R=mvstanton@chromium.org
      
      Review URL: https://codereview.chromium.org/1727833006
      
      Cr-Commit-Position: refs/heads/master@{#34316}
      45876462
    • bmeurer's avatar
      [ic] Unify undetectable abstract equality comparison. · 1b821f2f
      bmeurer authored
      The treatment of different undetectable objects was inconsistent after
      the latest changes to the undetectable bit in the maps. Given two
      different undetectable JSObjects a and b, a monomorphic CompareIC would
      say false for a == b, while the rest of the system (including the
      generic case for the CompareIC) would say true.
      
      The fix is rather straight-forward: We just go generic on a CompareIC
      once we see an undetectable JSObject.
      
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1735863004
      
      Cr-Commit-Position: refs/heads/master@{#34315}
      1b821f2f
    • littledan's avatar
      Revert of Make Intl install properties more like how other builtins do... · 829f951a
      littledan authored
      Revert of Make Intl install properties more like how other builtins do (patchset #1 id:1 of https://codereview.chromium.org/1733293003/ )
      
      Reason for revert:
      Breaks a bot: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/6812
      
      Original issue's description:
      > Make Intl install properties more like how other builtins do
      >
      > Intl has been somewhat of an oddball for how it integrates with V8.
      > One aspect is that it largely didn't use utils to install itself
      > into the snapshot, which led to some missing names, which new
      > test262 tests check for, and duplicated code. This patch brings
      > Intl a bit closer to how the rest of the builtins do things, though
      > not entirely as it is currently structured to do unusual things,
      > such as creating new constructors from JavaScript rather than C++.
      > New test262 tests check for some of the names that are added in
      > this patch.
      >
      > R=adamk
      > CC=jshin
      > BUG=v8:4778
      > LOG=Y
      >
      > Committed: https://crrev.com/a40830577d80f699282dd83864619656b7a7966c
      > Cr-Commit-Position: refs/heads/master@{#34311}
      
      TBR=adamk@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4778
      
      Review URL: https://codereview.chromium.org/1737873003
      
      Cr-Commit-Position: refs/heads/master@{#34314}
      829f951a
    • littledan's avatar
      Revert of Test262 roll, 2016-2-23 (patchset #2 id:20001 of... · 3b829ad8
      littledan authored
      Revert of Test262 roll, 2016-2-23 (patchset #2 id:20001 of https://codereview.chromium.org/1738033002/ )
      
      Reason for revert:
      An Intl change that this depends on breaks a bot
      
      Original issue's description:
      > Test262 roll, 2016-2-23
      >
      > R=adamk
      >
      > Committed: https://crrev.com/34492040fbfb04fead21416245c8696b9847e751
      > Cr-Commit-Position: refs/heads/master@{#34312}
      
      TBR=adamk@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/1736223002
      
      Cr-Commit-Position: refs/heads/master@{#34313}
      3b829ad8
    • littledan's avatar
      Test262 roll, 2016-2-23 · 34492040
      littledan authored
      R=adamk
      
      Review URL: https://codereview.chromium.org/1738033002
      
      Cr-Commit-Position: refs/heads/master@{#34312}
      34492040
    • littledan's avatar
      Make Intl install properties more like how other builtins do · a4083057
      littledan authored
      Intl has been somewhat of an oddball for how it integrates with V8.
      One aspect is that it largely didn't use utils to install itself
      into the snapshot, which led to some missing names, which new
      test262 tests check for, and duplicated code. This patch brings
      Intl a bit closer to how the rest of the builtins do things, though
      not entirely as it is currently structured to do unusual things,
      such as creating new constructors from JavaScript rather than C++.
      New test262 tests check for some of the names that are added in
      this patch.
      
      R=adamk
      CC=jshin
      BUG=v8:4778
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1733293003
      
      Cr-Commit-Position: refs/heads/master@{#34311}
      a4083057
    • littledan's avatar
      Make TypedArray.from and TypedArray.of writable and configurable · 60eb0fdf
      littledan authored
      BUG=v8:4315
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1734223004
      
      Cr-Commit-Position: refs/heads/master@{#34310}
      60eb0fdf
    • v8-autoroll's avatar
      Update V8 DEPS. · 4461af8f
      v8-autoroll authored
      Rolling v8/base/trace_event/common to 81b7b6f531ad2375140b2a5f4d3a803e5ba2514c
      
      Rolling v8/buildtools to 14288a03a92856fe1fc296d39e6a25c2d83cd6cf
      
      Rolling v8/tools/swarming_client to a72f46e42dba1335e8001499b4621acad2d26728
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1737243003
      
      Cr-Commit-Position: refs/heads/master@{#34309}
      4461af8f
    • adamk's avatar
      Revert of [compiler] Drop the CompareNilIC. (patchset #4 id:60001 of... · fca68bac
      adamk authored
      Revert of [compiler] Drop the CompareNilIC. (patchset #4 id:60001 of https://codereview.chromium.org/1722193002/ )
      
      Reason for revert:
      Speculative revert in attempt to fix #2 crasher on canary.
      
      Original issue's description:
      > [compiler] Drop the CompareNilIC.
      >
      > Since both null and undefined are also marked as undetectable now, we
      > can just test that bit instead of having the CompareNilIC try to collect
      > feedback to speed up the general case (without the undetectable bit
      > being used).
      >
      > Drive-by-fix: Update the type system to match the new handling of
      > undetectable in the runtime.
      >
      > R=danno@chromium.org
      >
      > Committed: https://crrev.com/666aec0348c8793e61c8633dee7ad29a514239ba
      > Cr-Commit-Position: refs/heads/master@{#34237}
      
      TBR=danno@chromium.org,verwaest@chromium.org,bmeurer@chromium.org
      LOG=y
      BUG=chromium:589897
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/1743433002
      
      Cr-Commit-Position: refs/heads/master@{#34308}
      fca68bac
  2. 25 Feb, 2016 24 commits