Commit Graph

19683 Commits

Author SHA1 Message Date
svenpanne@chromium.org
d56a21ebff The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers.
During generation code and relocation info are generated simultaneously.
When code generation is done you each code object has associated "relocation info".
Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection),
correspondences between the machine program counter and source locations for stack walking.

This patch:
1. Add more source positions info in reloc info to make it suitable for source level mapping.
The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and
(2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other).
I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark).

2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line.
If a source line is found that hit counter is increased by one for this line.

3. Add a new public V8 API to get the hit source lines by CDT CPU profiler.
Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown.

4.Add a test that checks how the samples are distributed through source lines.
It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version.

Patch from Denis Pravdin <denis.pravdin@intel.com>;

R=svenpanne@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/682143003

Patch from Weiliang <weiliang.lin@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25182}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:17:14 +00:00
mstarzinger@chromium.org
361d7b0f0e Avoid redundant work in scheduler loop header/depth calculation.
R=jarin@chromium.org

TEST=cctest/test-scheduler/LoopedFloatingDiamond2

Review URL: https://codereview.chromium.org/702683002

Cr-Commit-Position: refs/heads/master@{#25181}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:15:42 +00:00
bmeurer@chromium.org
8798c410e1 [turbofan] Turn various diamonds into selects.
TEST=cctest/test-changes-lowering,mjsunit/asm,unittests
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/704463004

Cr-Commit-Position: refs/heads/master@{#25180}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:10:32 +00:00
marja@chromium.org
abb5fd1ee1 Retry: Parser & internalization fix: ensure no heap allocs during GetString(Handle<String>).
The bug has always been there: when the parser is operating in the "immediately
internalize" mode and calls GetString, we get FlatContent of a string and then
do heap allocation.

The bug was uncovered by https://codereview.chromium.org/693803004/ (which put
the parser to the "immediately internalize" mode more often), but looking at the
code, it's possible that it can happen in other cases too.

This CL makes AstValueFactory handle this situation gracefully: it won't try to
internalize inside GetString(Handle<String>); it's unnecessary anyway since we
have the Handle<String> already.

BUG=
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/706533005

Cr-Commit-Position: refs/heads/master@{#25179}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 08:29:17 +00:00
dcarney@chromium.org
57b42dc51f [turbofan] extend register allocator testing with control flow
R=bmeurer@chromium.org, jarin@chromium.org

BUG=

Review URL: https://codereview.chromium.org/699083003

Cr-Commit-Position: refs/heads/master@{#25178}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 08:28:45 +00:00
bmeurer@chromium.org
a7277a9b8c MIPS: Skip embenchen tests on big-endian.
Emscripten requires little-endian arch. It has assertion for endianness:

assert(HEAPU8[0] === 255 && HEAPU8[3] === 0,
    'Typed arrays 2 must be run on a little-endian system');

TEST=mjsunit/asm/embenchen/*
BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/708663003

Patch from Paul Lind <paul.lind@imgtec.com>.

Cr-Commit-Position: refs/heads/master@{#25177}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 06:18:42 +00:00
bmeurer@chromium.org
881cece8de [turbofan] Transform x * -1.0 to -0.0 - x.
TEST=msjunit/asm,unittests
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/683753004

Cr-Commit-Position: refs/heads/master@{#25176}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 06:13:46 +00:00
paul.lind@imgtec.com
f3b633cc0c MIPS: Fix uint32div bug after r25103.
The div and mod instructions on MIPS are not safe for rhs 0.

TEST=test/mjsunit/asm/uint32div.js
BUG=
R=akos.palfi@imgtec.com

Review URL: https://codereview.chromium.org/704013002

Cr-Commit-Position: refs/heads/master@{#25174}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 22:49:13 +00:00
machenbach@chromium.org
b19ecf9753 Whitespace change to trigger bots (5)
Cr-Commit-Position: refs/heads/master@{#25173}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 22:09:11 +00:00
machenbach@chromium.org
2593eb3dab Whitespace change to trigger bots (4)
Cr-Commit-Position: refs/heads/master@{#25172}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 22:05:42 +00:00
machenbach@chromium.org
394a5d3cb0 Whitespace change to trigger bots (3)
Cr-Commit-Position: refs/heads/master@{#25171}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 22:02:47 +00:00
machenbach@chromium.org
6e48921aa2 Whitespace change to trigger bots (2)
Cr-Commit-Position: refs/heads/master@{#25170}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 21:59:22 +00:00
machenbach@chromium.org
e55a95d10d Whitespace change to trigger bots (1)
Cr-Commit-Position: refs/heads/master@{#25169}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 21:55:23 +00:00
dusan.milosavljevic@imgtec.com
032ae8e876 MIPS: Fix instruction selection test expectations after r25120.
TEST=unittests/InstructionSelectorCmpTest.Parameter,
     InstructionSelectorTest.Word32EqualWithZero
BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/706633003

Cr-Commit-Position: refs/heads/master@{#25167}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 18:51:43 +00:00
ishell@chromium.org
023c5e2f82 Skip tests that timout on arm64
TBR=machenbach@chromium.org, bmeurer@chromium.org

Review URL: https://codereview.chromium.org/702163002

Cr-Commit-Position: refs/heads/master@{#25166}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 17:03:01 +00:00
mstarzinger@chromium.org
2235b52511 Fix printing and verification of RPO computation.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/700153002

Cr-Commit-Position: refs/heads/master@{#25165}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 15:45:52 +00:00
titzer@chromium.org
0f46c9b46a Revert "[turbofan] Compute tighter ranges for modulus in Typer."
This reverts commit 482586747ca6bc0c94cc23f916fd190931d3a836.

TBR=jarin@chromium.org
BUG=

Review URL: https://codereview.chromium.org/702893002

Cr-Commit-Position: refs/heads/master@{#25164}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 15:19:45 +00:00
dcarney@chromium.org
9aa536f21a fix assert in arm64 gap resolver
BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/708473002

Cr-Commit-Position: refs/heads/master@{#25163}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 15:09:48 +00:00
titzer@chromium.org
b2800d7d87 [turbofan] Compute tighter ranges for modulus in Typer.
R=jarin@chromium.org
BUG=

Review URL: https://codereview.chromium.org/689133003

Cr-Commit-Position: refs/heads/master@{#25162}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:57:15 +00:00
machenbach@chromium.org
8db1bc7b06 Skip test in release mode for arm64
TBR=bmeurer@chromium.org, ishell@chromium.org

Review URL: https://codereview.chromium.org/701013006

Cr-Commit-Position: refs/heads/master@{#25161}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:39:43 +00:00
machenbach@chromium.org
fbb3898f96 Make slow tests on arm64
TBR=bmeurer@chromium.org, ishell@chromium.org

Review URL: https://codereview.chromium.org/701023003

Cr-Commit-Position: refs/heads/master@{#25160}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:32:46 +00:00
marja@chromium.org
ab5ae12e62 Revert "Parser & internalization fix: ensure no heap allocs during GetString(Handle<String>)."
This reverts r25155.

Reason: breaks webkit unit tests.

BUG=
TBR=marja@chromium.org

Review URL: https://codereview.chromium.org/707483002

Cr-Commit-Position: refs/heads/master@{#25159}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:32:17 +00:00
marja@chromium.org
dddeb98df9 Parser & internalization fix: ensure no heap allocs during GetString(Handle<String>).
The bug has always been there: when the parser is operating in the "immediately
internalize" mode and calls GetString, we get FlatContent of a string and then
do heap allocation.

The bug was uncovered by https://codereview.chromium.org/693803004/ (which put
the parser to the "immediately internalize" mode more often), but looking at the
code, it's possible that it can happen in other cases too.

This CL makes AstValueFactory handle this situation gracefully: it won't try to
internalize inside GetString(Handle<String>); it's unnecessary anyway since we
have the Handle<String> already.

R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/699343004

Cr-Commit-Position: refs/heads/master@{#25155}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:59:51 +00:00
machenbach@chromium.org
73835421d2 Make merge_to_branch more git-friendly.
BUG=410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org
TBR=tandrii@chromium.org

Review URL: https://codereview.chromium.org/702843002

Cr-Commit-Position: refs/heads/master@{#25154}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:31:23 +00:00
jkummerow@chromium.org
8a3aeb62d0 HPhis with HParameter inputs must have Tagged representation
BUG=v8:3670
LOG=n
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/702053002

Cr-Commit-Position: refs/heads/master@{#25153}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:24:43 +00:00
machenbach@chromium.org
90bfcce84b Skip box2d for gc stress.
TBR=bmeurer@chromium.org, ishell@chromium.org

Review URL: https://codereview.chromium.org/696213003

Cr-Commit-Position: refs/heads/master@{#25152}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:12:46 +00:00
jarin@chromium.org
91eeae5849 [turbofan] Fix deopt for assignments in non-effect context.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/701853002

Cr-Commit-Position: refs/heads/master@{#25151}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:09:14 +00:00
machenbach@chromium.org
1b4c25e0b7 Fix fast-variants feature in test driver.
BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/701933003

Cr-Commit-Position: refs/heads/master@{#25150}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:05:46 +00:00
dcarney@chromium.org
ff5d8c16ce [turbofan] optimize hot loop in ResolveControlFlow
R=jarin@chromium.org

BUG=

Review URL: https://codereview.chromium.org/694473002

Cr-Commit-Position: refs/heads/master@{#25149}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 12:47:14 +00:00
jkummerow@chromium.org
f96e386d9a Replace C++ bitfields with our own BitFields
Shave this yak from orbit, it's the only way to be sure.

BUG=chromium:427616
LOG=n
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/700963002

Cr-Commit-Position: refs/heads/master@{#25148}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 12:41:46 +00:00
hpayer@chromium.org
66430307b5 Use compiler barrier instead of memory barrier for release/acquire atomic operations on mac.
BUG=
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/694703003

Cr-Commit-Position: refs/heads/master@{#25147}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 12:35:51 +00:00
Jacob.Bramley@arm.com
858a5e5319 ARM: optimize inlined doubles
Use 'vmov Dn[x], ip' instead of 'vmov Sn, ip' to load double immediates.
This patch is only useful for Turbofan as Crankshaft loads double immediates from the constant pool.
This give a little improvement on asm.js benchmarks

R=bmeurer@chromium.org, ulan@chromium.org

BUG=

Review URL: https://codereview.chromium.org/704543002

Cr-Commit-Position: refs/heads/master@{#25146}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:51:13 +00:00
yangguo@chromium.org
6de28b2be1 Revert "Reland "Optimize function across closures.""
This reverts commit r25142.

TBR=ishell@chromium.org

Review URL: https://codereview.chromium.org/702853002

Cr-Commit-Position: refs/heads/master@{#25145}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:37:42 +00:00
baptiste.afsa@arm.com
6246b096ab [turbofan] Use load/store indexes as 64-bit registers on arm64.
Since r25024 load/store indexes are 64-bit value but arm64 backend was still
treating them as 32-bit value.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/698383003

Cr-Commit-Position: refs/heads/master@{#25144}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:36:15 +00:00
jarin@chromium.org
65f4716b3f Handle store buffer slot overwrite during object promotion.
The bad scenario this fix handles:

We have a slot in a free list, then promote the object pointed-to by
the slot during scavenge. When allocating the space for the promoted
object, we overwrite the slot with the free list entry map if the
object is allocated just before the slot. After the allocation,
ScavengingVisitor::PromoteObject overwrites the slot with the
address of the allocated object, thus corrupting the free list.

Unfortunately, we do not have a way to construct a reliable repro
case because we would need to somehow craft a free list and store
buffer slot to be in the right configuration.

R=hpayer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/695213004

Cr-Commit-Position: refs/heads/master@{#25143}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:28:15 +00:00
yangguo@chromium.org
1cdf4e9308 Reland "Optimize function across closures."
R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/703603003

Cr-Commit-Position: refs/heads/master@{#25142}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:12:41 +00:00
bmeurer@chromium.org
0c1a545a93 [turbofan] Propagate "deferredness" to dominated basic blocks.
TEST=cctest/test-scheduler
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/686273005

Cr-Commit-Position: refs/heads/master@{#25141}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:44:12 +00:00
svenpanne@chromium.org
24079dda3a Don't use C++11's std::trunc and std::round, use the traditional C functions.
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/703893002

Cr-Commit-Position: refs/heads/master@{#25140}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:42:18 +00:00
machenbach@chromium.org
e0801075cd Add fast-variants feature to test driver.
BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/704723002

Cr-Commit-Position: refs/heads/master@{#25139}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:39:15 +00:00
mstarzinger@chromium.org
b0aa81f30d Make special RPO computation iterative during scheduling.
This contains the following changes squashed together:
- Switch BasicBlock::loop_end to be a basic block instead of an RPO.
- Switch ScheduleLate to use dominator depth instead of RPO.
- Switch ScheduleEarly to use dominator depth instead of RPO.
- Push out absolute RPO ordering everywhere else in the scheduler.
- Keep linked list of blocks in RPO order while scheduling.
- Switch from RPO number to depth for dominator calculation.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/696363002

Cr-Commit-Position: refs/heads/master@{#25138}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:10:54 +00:00
ishell@chromium.org
33dde8d92c TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have several entries for the same property name.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/661133002

Cr-Commit-Position: refs/heads/master@{#25136}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 09:26:48 +00:00
bmeurer@chromium.org
3abe032b4c Add test cases based on the programs from the Embenchen benchmark suite.
TEST=mjsunit/asm/embenchen
R=dcarney@chromium.org

Review URL: https://codereview.chromium.org/704653004

Cr-Commit-Position: refs/heads/master@{#25135}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 09:11:20 +00:00
titzer@chromium.org
482c788a8b x32: disable turbofan for x32 port
BUG=
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/697353003

Patch from Weilang Lin <weiliang.lin@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25133}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 09:03:12 +00:00
yangguo@chromium.org
fcd25e4d0f Fix enum in debug.h
TBR=ishell@chromium.org

Review URL: https://codereview.chromium.org/700103002

Cr-Commit-Position: refs/heads/master@{#25131}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 08:53:14 +00:00
yangguo@chromium.org
630d6b8b71 Introduce new stepping mode to step into another frame.
R=aandrey@chromium.org
BUG=chromium:267592
LOG=Y

Review URL: https://codereview.chromium.org/690263004

Cr-Commit-Position: refs/heads/master@{#25130}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 08:44:54 +00:00
jochen@chromium.org
bd9d317e11 Don't crash if the tm_zone field returned by localtime is NULL
BUG=chromium:158355
R=svenpanne@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/662093003

Cr-Commit-Position: refs/heads/master@{#25129}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 08:31:19 +00:00
bmeurer@chromium.org
50ecc64539 [turbofan] Fix missing machine type for float32/float64 array accesses.
TEST=mjsunit/asm
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/703883002

Cr-Commit-Position: refs/heads/master@{#25128}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 08:15:47 +00:00
hpayer@chromium.org
3ee916c810 Truncate strings synchronized.
BUG=
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/702743002

Cr-Commit-Position: refs/heads/master@{#25127}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 07:31:01 +00:00
aandrey@chromium.org
cb0694e765 Allow uncaught exception messaging in Object.observe callbacks.
This also naturally handles pausing on uncaught exceptions in Object.observe callbacks.

R=adamk@chromium.org, yangguo@chromium.org, yurys@chromium.org
BUG=chromium:335660
LOG=Y

Review URL: https://codereview.chromium.org/692313003

Cr-Commit-Position: refs/heads/master@{#25126}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 07:23:59 +00:00
weiliang.lin@intel.com
813b071b30 Set the FPU precision control to double-precision.
The default double precision control of FPU is extended double-precision.
While the number definition for JavaScript is double-precision. We use
the FPU control word to set the doulbe precision and replace the original
solution which store the data to memory and load it again.

This patch also fixes the error that Sunspider 1.0.2 can not run with V8 if
sse2 support is disabled.

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/700053003

Patch from Chunyang Dai <chunyang.dai@intel.com>.

Cr-Commit-Position: refs/heads/master@{#25125}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 06:21:50 +00:00