Commit Graph

32327 Commits

Author SHA1 Message Date
verwaest
c2eb07505c Abort if we ever allocate a non-0-sized packed array
BUG=chromium:621147

Review-Url: https://codereview.chromium.org/2122943002
Cr-Commit-Position: refs/heads/master@{#37535}
2016-07-05 15:52:09 +00:00
jochen
9d66b3f3d3 Remove obsolete patching step from runtime callstats.html
BUG=
R=cbruni@chromium.org

Review-Url: https://codereview.chromium.org/2119823002
Cr-Commit-Position: refs/heads/master@{#37534}
2016-07-05 14:59:03 +00:00
machenbach
1791d7bb9a Revert of [heap] Track length for array buffers to avoid free-ing dependency (patchset #2 id:20001 of https://codereview.chromium.org/2122603004/ )
Reason for revert:
[Sheriff] This makes mjsunit/regress/regress-625752 extremely slow on all gc stress bots and leads to timeouts with custom snapshot:
https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/6602

Original issue's description:
> [heap] Track length for array buffers to avoid free-ing dependency
>
> The dependency would only happen if we have a smi overflow for the length and
> have create a heap number. In this case the heap number would've to survive
> until the array buffer is collected.
>
> To avoid this dependency we track the length (as we previously used to).
>
> BUG=chromium:625748,chromium:625752
> LOG=N
> TEST=test/mjsunit/regress/regress-625752.js
> R=hpayer@chromium.org
>
> Committed: https://crrev.com/ddc75cc1356a58b6cfd63f9da0586e1150496b3d
> Cr-Commit-Position: refs/heads/master@{#37530}

TBR=hpayer@chromium.org,mlippautz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:625748,chromium:625752

Review-Url: https://codereview.chromium.org/2127483003
Cr-Commit-Position: refs/heads/master@{#37533}
2016-07-05 14:43:24 +00:00
honggyu.kp
446232f16b Strictly disable instantiation of AllStatic class
Since the intention of using AllStatic class is to provide classes that
only contain static method functions without member variables so it
doesn't have to be instantiated at all.

However, current implementation only disables dynamic instantiation, and
it can be detected at runtime by reaching UNREACHABLE().  And it can
still have instances allocated inside stack.

This blocks all those cases by deleting default constructor of AllStatic
class to prevent undesirable usage of it.

BUG=
R=jochen@chromium.org

Review-Url: https://codereview.chromium.org/2108273003
Cr-Commit-Position: refs/heads/master@{#37532}
2016-07-05 14:27:34 +00:00
oth
40511877eb [interpreter] Introduce binary op bytecodes for Smi operand.
Introduces fused bytecodes for fusing LdaSmi followed by a binary op bytecode.
The chosen bytecodes are used frequently in Octane: AddSmi, SubSmi,
BitwiseOrSmi, BitwiseAndSmi, ShiftLeftSmi, ShiftRightSmi.

There are additional code stubs for these operations that are biased towards
both the left hand and right hand operands being Smis.

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2111923002
Cr-Commit-Position: refs/heads/master@{#37531}
2016-07-05 13:46:11 +00:00
mlippautz
ddc75cc135 [heap] Track length for array buffers to avoid free-ing dependency
The dependency would only happen if we have a smi overflow for the length and
have create a heap number. In this case the heap number would've to survive
until the array buffer is collected.

To avoid this dependency we track the length (as we previously used to).

BUG=chromium:625748,chromium:625752
LOG=N
TEST=test/mjsunit/regress/regress-625752.js
R=hpayer@chromium.org

Review-Url: https://codereview.chromium.org/2122603004
Cr-Commit-Position: refs/heads/master@{#37530}
2016-07-05 13:15:22 +00:00
mstarzinger
e0dd3119e0 [turbofan] Remove obsolete frame-state from count op.
This removes the usage of {FrameStateBeforeAndAfter} from the graph
building for count operations. The {JSAdd} or {JSSubtract} node in
question no longer needs the frame-state attached.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2127523002
Cr-Commit-Position: refs/heads/master@{#37529}
2016-07-05 12:41:53 +00:00
bmeurer
d70dc1ace4 [turbofan] Initial version of the new LoadElimination.
This adds a new optimization phase to the TurboFan pipeline, which walks
over the effect chain and tries to eliminate redundant loads (and even
some stores) of object fields. We currently ignore element access, but
that will probably need to be handled as well at some point. We also
don't have any special treatment to properly track object maps, which is
also on the list of things that will happen afterwards.

The implementation is pretty simple currently, and probably way to
inefficient. It's meant to be a proof-of-concept to iterate on.

R=jarin@chromium.org
BUG=v8:4930,v8:5141

Review-Url: https://codereview.chromium.org/2120253002
Cr-Commit-Position: refs/heads/master@{#37528}
2016-07-05 12:20:18 +00:00
ahaas
65415ca795 [wasm] Copy the signature when compiling an imported function.
The signature of an imported function is needed to compile a wrapper in
wasm to call the imported function. The signature is stored in a heap
object which is created when the wasm module is compiled. With this CL
we do not use a pointer to the signature in the heap object but instead
copy the signature and then use a pointer to the copy. A pointer into
a heap object causes problems when a GC is happening.

R=titzer@chromium.org, mtrofin@chromium.org

Review-Url: https://codereview.chromium.org/2124743002
Cr-Commit-Position: refs/heads/master@{#37527}
2016-07-05 12:17:05 +00:00
mstarzinger
ee2d06e65f [unittests] Remove spurious language mode test dimension.
This just removes some left-overs from when the {JSTypedLoweringTest}
covered strong mode and an iteration over all language modes was used
for testing all binary operations. The language mode in question has
been removed since then.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2121113002
Cr-Commit-Position: refs/heads/master@{#37526}
2016-07-05 12:10:28 +00:00
machenbach
84124ce219 [build] Switch x87 to swarming.
BUG=chromium:625793
NOTRY=true
TBR=vogelheim@chromium.org, zhengxing.li@intel.com

Review-Url: https://codereview.chromium.org/2124763002
Cr-Commit-Position: refs/heads/master@{#37525}
2016-07-05 12:01:02 +00:00
Miran.Karic
99385e8e4b MIPS: [turbofan] Fix addition for deoptimization.
In turbofan, after an addition operation where the same register is the
output and both inputs, if deoptimization is performed the input is
overwritten with the output value and the final result is not correct.
This is fixed by restoring the original value of the input before
deoptimization.

BUG=
TEST=mjsunit/regress/regress-int32-truncation

Review-Url: https://codereview.chromium.org/2102063002
Cr-Commit-Position: refs/heads/master@{#37524}
2016-07-05 11:24:10 +00:00
bmeurer
b18b387795 [turbofan] Run value numbering as part of typed lowering.
We can already benefit from value numbering (pure) nodes at this point
in the graph, because it makes some later passes more efficient and
reduces the graph size early.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2125613002
Cr-Commit-Position: refs/heads/master@{#37523}
2016-07-05 11:02:46 +00:00
mstarzinger
2620c4264a [turbofan] Remove eager frame state from add and subtract.
This removes the frame state input representing the before-state from
nodes having the {JSAdd} or the {JSSubtract} operator. Lowering that
inserts number conversions of the inputs has to be disabled when
deoptimization is enabled, because the frame state layout is no longer
known.

R=jarin@chromium.org
BUG=v8:5021

Review-Url: https://codereview.chromium.org/2125593002
Cr-Commit-Position: refs/heads/master@{#37522}
2016-07-05 10:46:34 +00:00
ssanfilippo
8465244e79 Broaden the condition under which gold is used as linker.
LOG=N

Review-Url: https://codereview.chromium.org/2121123002
Cr-Commit-Position: refs/heads/master@{#37521}
2016-07-05 10:28:17 +00:00
yangguo
7a834e8b69 [debugger] add test case for throwing in generators.
R=neis@chromium.org

Review-Url: https://codereview.chromium.org/2117303003
Cr-Commit-Position: refs/heads/master@{#37520}
2016-07-05 10:12:33 +00:00
bmeurer
72275e6620 [intrinsic] Drop the %_ValueOf intrinsic.
This drops the %_ValueOf intrinsic, but keeps the runtime entry
%ValueOf for now, by either migrating the functionality (mostly
Debug mirror or toString/valueOf methods) to C++ or TurboFan
builtins, or switching to the %ValueOf runtime call when it's
not performance critical anyways.

The %_ValueOf intrinsic was one of the last blockers for fixing
the unsound machine operator typing in TurboFan.

R=yangguo@chromium.org
BUG=v8:5049

Committed: https://crrev.com/293bd7882987f00e465710ce468bfb1eaa7d3fa2
Review-Url: https://codereview.chromium.org/2126453002
Cr-Original-Commit-Position: refs/heads/master@{#37512}
Cr-Commit-Position: refs/heads/master@{#37519}
2016-07-05 10:05:40 +00:00
bmeurer
f50721d56d [turbofan] Recognize fast path for Number.parseInt.
The Number.parseInt (and therefore the parseInt function on the global
object) are often used instead of Math.floor or just plain int32
truncation, and we can easily recognize those cases and provide a fast
path in TurboFan.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2125583002
Cr-Commit-Position: refs/heads/master@{#37518}
2016-07-05 09:52:41 +00:00
mstarzinger
277fac44ff [turbofan] Remove eager frame state from JSMultiply.
This removes the frame state input representing the before-state from
nodes having the {JSMultiply} operator. Lowering that inserts number
conversions of the inputs has to be disabled when deoptimization is
enabled, because the frame state layout is no longer known.

R=jarin@chromium.org
BUG=v8:5021

Review-Url: https://codereview.chromium.org/2111193002
Cr-Commit-Position: refs/heads/master@{#37517}
2016-07-05 09:05:31 +00:00
zhengxing.li
f310a82952 X87: disable Acosh/ASinh test cases for x87.
The reason:
    same as the CL #37371 (Issue 2111493002: X87: disable some sin/cos/expm1/tan test cases for x87.), please
    refer https://codereview.chromium.org/2111493002 for more details.

    For Acosh/ASinh test cases, the expected values are pre-defined double precision values, the results
    generated by C++ function are extended double precision as the extended double precision is default for x87
    Gcc compiler and std lib on linux platform. The comparison of different precisons caused some of those test
    cases failed.

    This CL disables Acosh/ASinh test cases for x87.

BUG=

Review-Url: https://codereview.chromium.org/2122593002
Cr-Commit-Position: refs/heads/master@{#37516}
2016-07-05 08:59:09 +00:00
zhengxing.li
bf4ef548cc X87: disable test-gap-resolver/FuzzResolver test case for x87.
The reason:
  In CreateRandomOperand(), It used the register index 1 for ExplicitOperand(LocationOperand::REGISTER, rep,
  GetRegisterCode(rep, 1)).

  For x87 turbofan compiler, there's only 1 allocatable Float/Double register, i.e.: register index 0. the
  GetRegisterCode(rep, 1) in ExplicitOperand() always return false when rep is MachineRepresentation::kFloat32/kFloat64.

  It caused the test-gap-resolver/FuzzResolver failed at DCHECK_IMPLIES(kind == REGISTER && rep == MachineRepresentation::kFloat32,
  FloatRegister::from_code(index).IsAllocatable(RegisterConfiguration::TURBOFAN)), src/compiler/instruction.cc, line 259, under
  debug mode.

  This CL disable test-gap-resolver/FuzzResolver test case for x87.

BUG=

Review-Url: https://codereview.chromium.org/2120203002
Cr-Commit-Position: refs/heads/master@{#37515}
2016-07-05 08:55:56 +00:00
machenbach
0960beb0ef Revert of [intrinsic] Drop the %_ValueOf intrinsic. (patchset #2 id:20001 of https://codereview.chromium.org/2126453002/ )
Reason for revert:
[Sheriff] Breaks without i18n:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/8466

Original issue's description:
> [intrinsic] Drop the %_ValueOf intrinsic.
>
> This drops the %_ValueOf intrinsic, but keeps the runtime entry
> %ValueOf for now, by either migrating the functionality (mostly
> Debug mirror or toString/valueOf methods) to C++ or TurboFan
> builtins, or switching to the %ValueOf runtime call when it's
> not performance critical anyways.
>
> The %_ValueOf intrinsic was one of the last blockers for fixing
> the unsound machine operator typing in TurboFan.
>
> R=yangguo@chromium.org
> BUG=v8:5049
>
> Committed: https://crrev.com/293bd7882987f00e465710ce468bfb1eaa7d3fa2
> Cr-Commit-Position: refs/heads/master@{#37512}

TBR=yangguo@chromium.org,bmeurer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5049

Review-Url: https://codereview.chromium.org/2117273002
Cr-Commit-Position: refs/heads/master@{#37514}
2016-07-05 08:01:06 +00:00
jgruber
971468031a Use toString tag to format receiver in stack traces
This concerns formatting of calls to, e.g., Math.acos in stack traces,
in which the receiver is an object with an attached toString tag. If
such a tag exists, use it to format the receiver typename to ensure that
the stack trace includes 'Math.acos' instead of 'Object.acos'.

R=yangguo@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2110683007
Cr-Commit-Position: refs/heads/master@{#37513}
2016-07-05 07:42:53 +00:00
bmeurer
293bd78829 [intrinsic] Drop the %_ValueOf intrinsic.
This drops the %_ValueOf intrinsic, but keeps the runtime entry
%ValueOf for now, by either migrating the functionality (mostly
Debug mirror or toString/valueOf methods) to C++ or TurboFan
builtins, or switching to the %ValueOf runtime call when it's
not performance critical anyways.

The %_ValueOf intrinsic was one of the last blockers for fixing
the unsound machine operator typing in TurboFan.

R=yangguo@chromium.org
BUG=v8:5049

Review-Url: https://codereview.chromium.org/2126453002
Cr-Commit-Position: refs/heads/master@{#37512}
2016-07-05 06:47:53 +00:00
zhengxing.li
e043dcb5d6 X87: [builtins] Add receiver to builtin exit frames.
port f59a23356b (r37500)

  original commit message:
  Stack trace generation requires access to the receiver; and while the
  receiver is already on the stack, we cannot determine its position
  during stack trace generation (it's stored in argv[0], and argc is only
  stored in a callee-saved register).

  This patch grants access to the receiver by pushing argc onto builtin
  exit frames as an extra argument. Compared to simply pushing the
  receiver, this requires an additional dereference during stack trace
  generation, but one fewer during builtin calls.

BUG=

Review-Url: https://codereview.chromium.org/2118413002
Cr-Commit-Position: refs/heads/master@{#37511}
2016-07-05 05:37:32 +00:00
mvstanton
47f543305e Removed fdlibm.js, as it is now an empty shell.
BUG=

Review-Url: https://codereview.chromium.org/2106413002
Cr-Commit-Position: refs/heads/master@{#37510}
2016-07-05 03:57:17 +00:00
v8-autoroll
12291c541d Update V8 DEPS.
Rolling v8/build to 536d6fe8a0df34c0c412da483375d71b9b931afa

Rolling v8/buildtools to d2664782a3855d5be8cbbfd3c23b6652926de8cc

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2124673002
Cr-Commit-Position: refs/heads/master@{#37509}
2016-07-05 03:32:39 +00:00
zhengxing.li
c140a90c57 X87: [turbofan]: Support using push instructions for setting up tail call parameters.
port bd0d9e7d87 (r37477)

  original commit message:
  This optimizes the passing of stack parameters in function calls.

  For some architectures (ia32/x64), using pushes when possible instead
  of bumping the stack and then storing parameters generates much
  smaller code, and in some cases is faster (e.g. when a push of a memory
  location can implement a memory-to-memory copy and thus elide an
  intermediate load. On others (e.g. ARM), the benefit is smaller, where
  it's only possible to elide direct stack pointer adjustment in certain cases
  or combine multiple register stores into a single instruction in other limited
  situations. On yet other platforms (ARM64, MIPS), there are no push instructions,
  and this optimization isn't used at all.

  Ideally, this mechanism would be used for both tail calls and normal calls,
  but "normal" calls are currently pretty efficient, and tail calls are very
  inefficient, so this CL sets the bar low for building a new mechanism to
  handle parameter pushing that only needs to raise the bar on tail calls for now.

  The key aspect of this change is that adjustment to the stack pointer
  for tail calls (and perhaps later real calls) is an explicit step separate from
  instruction selection and gap resolution, but aware of both, making it possible
  to safely recognize gap moves that are actually pushes.

BUG=

Review-Url: https://codereview.chromium.org/2120413002
Cr-Commit-Position: refs/heads/master@{#37508}
2016-07-05 02:33:35 +00:00
mtrofin
462d57ae1f [wasm] Fix possible gc-ing of wasm code objects
If incremental GC starts before imports linking, and sees a wasm
function, it won't revisit that after the imports that function are linked.
As a result, the import code objects may be GC-ed. This change
addresses this issue.

BUG=

Review-Url: https://codereview.chromium.org/2113183002
Cr-Commit-Position: refs/heads/master@{#37507}
2016-07-04 20:11:14 +00:00
lpy
3ca49d9aec Split Ticker into two samplers.
Currently there are two logic in Ticker, one is to try to request a
pre-allocated TickSample from CpuProfiler and then initialize it, and if the
request fails, it will initialize a local TickSample. The other is it will pass
an initialized TickSample to Profiler to log into v8.log.

This patch splits Ticker into two samplers, the first one remains in log.cc to
collect samples and pass to Profiler for logging, the second one will be called
by ProfilerEventsProcessor, and only use the circular queue only.

BUG=v8:4789
LOG=N

Review-Url: https://codereview.chromium.org/2108393002
Cr-Commit-Position: refs/heads/master@{#37506}
2016-07-04 19:23:03 +00:00
franzih
b753333748 Fix minor typo and delete unused import statement.
BUG=

Review-Url: https://codereview.chromium.org/2112933002
Cr-Commit-Position: refs/heads/master@{#37505}
2016-07-04 18:46:27 +00:00
caitpotter88
8134986917 [builtins] don't create keys for undefined property descriptors in O.gOPDs
Implements the change proposed at https://github.com/tc39/ecma262/pull/593.

In summary, Object.getOwnPropertyDescriptors can produce results which cause
Object.defineProperties() to throw, by inserting a property with an undefined
descriptor into the result object. This change to the algorithm requires that
the descriptor only be added to the result object if it is not undefined.

BUG=v8:4725
R=littledan@chromium.org, adamk@chromium.org, jwolfe@igalia.com

Review-Url: https://codereview.chromium.org/2118613003
Cr-Commit-Position: refs/heads/master@{#37504}
2016-07-04 18:04:05 +00:00
phajdan.jr
c13c62695b Remove myself from v8 WATCHLISTS
TBR=jochen

BUG=none

Review-Url: https://codereview.chromium.org/2124483002
Cr-Commit-Position: refs/heads/master@{#37503}
2016-07-04 14:45:04 +00:00
mlippautz
187f86c589 [heap] Clean up RawSweep
- Remove unused flags (SweepingParallelism, SweepingMode)
- Make them runtime parameters rather then template parameters
- Deduce skip list rebuilding from the page itself

BUG=

Review-Url: https://codereview.chromium.org/2124433002
Cr-Commit-Position: refs/heads/master@{#37502}
2016-07-04 13:08:18 +00:00
bmeurer
f3f16c09cf [turbofan] Mark JSStackCheck as no-write.
This is compatible with what Crankshaft does, and therefore should be
safe. The runtime doesn't perform any JavaScript-observable side
effects during the stack check.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2118253002
Cr-Commit-Position: refs/heads/master@{#37501}
2016-07-04 12:56:01 +00:00
jgruber
f59a23356b [builtins] Add receiver to builtin exit frames
Stack trace generation requires access to the receiver; and while the
receiver is already on the stack, we cannot determine its position
during stack trace generation (it's stored in argv[0], and argc is only
stored in a callee-saved register).

This patch grants access to the receiver by pushing argc onto builtin
exit frames as an extra argument. Compared to simply pushing the
receiver, this requires an additional dereference during stack trace
generation, but one fewer during builtin calls.

BUG=v8:4815

Review-Url: https://codereview.chromium.org/2106883003
Cr-Commit-Position: refs/heads/master@{#37500}
2016-07-04 12:46:47 +00:00
akos.palfi
5e8ba68198 MIPS: Fix '[turbofan]: Support using push instructions for setting up tail call parameters'
Port bd0d9e7d87

BUG=

Review-Url: https://codereview.chromium.org/2122643003
Cr-Commit-Position: refs/heads/master@{#37499}
2016-07-04 12:40:17 +00:00
bbudge
21b3c06e71 [Turbofan] Instruction::Print can handle SIMD 128 bit registers.
LOG=N
BUG=v8:4124

Review-Url: https://codereview.chromium.org/2116203002
Cr-Commit-Position: refs/heads/master@{#37498}
2016-07-04 12:31:05 +00:00
ishell
43aee0331d [fullcode][mips][mips64][ppc][s390] Avoid trashing of a home object when doing a keyed store to a super.
BUG=chromium:625590

Review-Url: https://codereview.chromium.org/2120963002
Cr-Commit-Position: refs/heads/master@{#37497}
2016-07-04 11:42:39 +00:00
zhengxing.li
4f7f6aee3f X87: [builtins] Unify most of the remaining Math builtins.
port 0a0fe8fb8b (r37476)

  original commit message:
  Import fdlibm versions of acos, acosh, asin and asinh, which are more
  precise and produce the same result across platforms (we were using
  libm versions for asin and acos so far, where both speed and precision
  depended on the operating system so far). Introduce appropriate TurboFan
  operators for these functions and use them both for inlining and for the
  generic builtin.

  Also migrate the Math.imul and Math.fround builtins to TurboFan builtins
  to ensure that their behavior is always exactly the same as the inlined
  TurboFan version (i.e. C++ truncation semantics for double to float
  don't necessarily meet the JavaScript semantics).

  For completeness, also migrate Math.sign, which can even get some nice
  love in TurboFan.

  Drive-by-fix: Some alpha-sorting on the Math related functions, and
  cleanup the list of Math intrinsics that we have to export via the
  native context currently.

BUG=

Review-Url: https://codereview.chromium.org/2122643002
Cr-Commit-Position: refs/heads/master@{#37496}
2016-07-04 10:05:31 +00:00
ishell
acd674db10 [crankshaft] Use canonical nan_value or minus_zero_value objects instead of constant heap numbers with NaN or -0.0 values.
BUG=chromium:625547

Review-Url: https://codereview.chromium.org/2115413002
Cr-Commit-Position: refs/heads/master@{#37495}
2016-07-04 09:59:26 +00:00
zhengxing.li
a21725c5d8 [X87] [wasm] Fix one V8 x87 code generation bug in TurboFan compiler.
The CL #37448 (https://codereview.chromium.org/2105313002) exposed one hidden bug in x87 turbofan compiler's code generation.

  This CL fixed that bugs.

BUG=

Review-Url: https://codereview.chromium.org/2117003002
Cr-Commit-Position: refs/heads/master@{#37494}
2016-07-04 09:38:00 +00:00
jarin
9fdacb9e55 [turbofan] Better handling of empty type in simplified lowering.
The re-typer now only types a node if its inputs are all typed with the
exception of phi nodes. This works because all cycles in the graph have
to contain a phi node.

BUG=chromium:625558

Review-Url: https://codereview.chromium.org/2120243002
Cr-Commit-Position: refs/heads/master@{#37493}
2016-07-04 08:43:12 +00:00
machenbach
27965f19a4 [gn] Switch basic linux32 bots to gn
BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2109293004
Cr-Commit-Position: refs/heads/master@{#37492}
2016-07-04 07:54:32 +00:00
zhengxing.li
c43d5ddeba X87: [builtins] Unify Cosh, Sinh and Tanh as exports from flibm.
port cede9ce5e1 (r37424)

  original commit message:

BUG=

Review-Url: https://codereview.chromium.org/2118133002
Cr-Commit-Position: refs/heads/master@{#37491}
2016-07-04 06:27:15 +00:00
zhengxing.li
f50725d3ba X87: [builtins] New frame type for exits to C++ builtins.
port 5febc27b5d (r37416)

  original commit message:
  Prior to this commit, calls to C++ builtins created standard exit
  frames, which are skipped when constructing JS stack traces. In order to
  show these calls on traces, we introduce a new builtin exit frame type.

  Builtin exit frames contain target and new.target on the stack and are
  not skipped during stack trace construction.

BUG=

Review-Url: https://codereview.chromium.org/2120873002
Cr-Commit-Position: refs/heads/master@{#37490}
2016-07-04 04:29:30 +00:00
zhengxing.li
a21bc23d53 X87: [ia32] Fixes a wrong use of Operand in a test.
port c0d4bb89a1 (r37370)

  original commit message:
  Operand(reg) -> reg
  Operand(reg, 0) -> [reg]

BUG=

Review-Url: https://codereview.chromium.org/2119103002
Cr-Commit-Position: refs/heads/master@{#37489}
2016-07-04 04:23:19 +00:00
honggyu.kp
c52685a516 gdb-v8-support.py: Fix old style print statement
Since python3 does not use the old print statement, it may not be able
to load gdb-v8-support.py script in gdb as below:

  (gdb) source tools/gdb-v8-support.py
    File "tools/gdb-v8-support.py", line 170
      print result
                 ^
  SyntaxError: Missing parentheses in call to 'print'

This fixes print statement for both python2 and python3.

R=jochen@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2084163004
Cr-Commit-Position: refs/heads/master@{#37488}
2016-07-03 07:11:47 +00:00
hablich
9c0aef52fa Revert of Amends the TypedArray constructor to use the path for primitives for all (patchset #4 id:60001 of https://codereview.chromium.org/2096873002/ )
Reason for revert:
Speculative revert to unblock roll https://codereview.chromium.org/2114113002/

Original issue's description:
> Amends the TypedArray constructor to use the path for primitives for all
> types of primitives, not just undefined, booleans, numbers, and strings.
> (The missing cases were null and Symbol.) This is required by the
> specification, and there are test262 tests which we were failing due to
> this bug.
>
> BUG=v8:5124
>
> Committed: https://crrev.com/f788bd9cce19815cba746e47bb65abfe25c16208
> Committed: https://crrev.com/f772c22cd1c492aa0235a8e6012d0386146d2eb2
> Cr-Original-Commit-Position: refs/heads/master@{#37234}
> Cr-Commit-Position: refs/heads/master@{#37407}

TBR=littledan@chromium.org,bakkot@google.com
NOTREECHECKS=true
BUG=v8:5124

Review-Url: https://codereview.chromium.org/2120763002
Cr-Commit-Position: refs/heads/master@{#37487}
2016-07-02 14:53:11 +00:00
v8-autoroll
c171ced5f7 Update V8 DEPS.
Rolling v8/build to 76d9f8b4fcae07fb82f28295468cf92bade935bd

Rolling v8/buildtools to db6179b29f90d28026b0cb23ef71d56ec31b8bd6

Rolling v8/tools/clang to 775e2f874b9f53f0e82c4e7c61dc29f3cdcb3379

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2117993002
Cr-Commit-Position: refs/heads/master@{#37486}
2016-07-02 03:24:03 +00:00