Commit Graph

11850 Commits

Author SHA1 Message Date
mvstanton@chromium.org
7f0f022792 Bugfix in hydrogen array literal code generation.
If an array literal contains some non-constant elements, is of type SMI, and
then the boilerplate transitions to double or fast sometime after we've
crankshafted the code, then we could incorrectly store smis in double arrays.

BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 13:48:50 +00:00
svenpanne@chromium.org
010d9aba16 Avoid relying on monkey-patchable things in String.prototype.split.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 12:25:40 +00:00
dslomov@chromium.org
51f3e2f055 Do not use weak handles for ArrayBuffers.
Instead of allocating weak handles to free ArrayBuffer backing store, dispose of memory while walking the weak list of ArrayBuffers on GC.

Also, free all array buffers on isolate tear-down.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 11:53:30 +00:00
jkummerow@chromium.org
7821715dc1 Always reset allowed OSR nesting level when reverting interrupt code patches.
Also, --trap-on-deopt should only affect optimized functions, not hydrogen stubs.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 09:38:28 +00:00
jkummerow@chromium.org
3ca50a576a x64: LAddI must use LEAL, not LEAQ
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 09:36:38 +00:00
yangguo@chromium.org
1be45275c6 Fix test for bots that force --parallel-recompilation as shell flag.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 09:32:05 +00:00
mvstanton@chromium.org
c70b41684d Use type feedback for Array (non-constructor) call sites.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 09:25:24 +00:00
svenpanne@chromium.org
3f69800acc Removed ReplaceResultBuilder.
Most of its code was dead, and the remaining part was a simple
one-liner, which is now inlined at its single call-site.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 08:59:56 +00:00
hpayer@chromium.org
8f8461aff5 Disable stress_compaction flag in several GC tests to meet test
expectations.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 08:58:09 +00:00
hpayer@chromium.org
137a8c5181 Move static flag modifications to V8::InitializeOncePerProcessImpl().
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 08:57:26 +00:00
mstarzinger@chromium.org
6510948b2c Make Zone::allocation_size work with parallel zones.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 07:48:41 +00:00
yangguo@chromium.org
6e420a66be Tweak type info threshold.
R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/17390004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 14:36:17 +00:00
yangguo@chromium.org
627872ec67 Do not modify FLAG_parallel_recompilation after start up.
R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/17202006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 14:25:24 +00:00
mstarzinger@chromium.org
0524263a27 Remove obsolete elements kind check for array literals.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 13:32:06 +00:00
yangguo@chromium.org
496af21047 Turn on parallel recompilation.
R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/17394002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 13:06:22 +00:00
dslomov@chromium.org
3af076a406 Prepare push to trunk. Now working on 3.19.19.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 11:42:34 +00:00
svenpanne@chromium.org
fb7310b1fd Fixed read-only attribute of Function.length in strict mode.
R=cira@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 07:51:50 +00:00
dcarney@chromium.org
43a805fc27 added type checks on fast return values
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 07:39:15 +00:00
mstarzinger@chromium.org
6e5c8fe803 Make sure GCMole pukes when Clang invocation fails.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 18:00:23 +00:00
jkummerow@chromium.org
07596dd7b8 Fix Runtime_SetProperty to properly handle OOM failures
BUG=chromium:249873
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 17:42:27 +00:00
palfia@homejinni.com
c9624a44cd MIPS: Fix constant function transition. Insert return instruction before returning.
Port r15180 (2f9dcce3)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 16:37:15 +00:00
palfia@homejinni.com
f8fc5c443e Allow running mjsunit/manual-parallel-recompile on single-core systems.
- Add an %IsParallelSupported() builtin function to  make possible to check support of parallel processing from JavaScripts.
- Change the test script that if parallel recompilation is forced on a single core CPU, expect that it won't be recompiled in parallel.
- Change the  JSFunction::MarkForParallelRecompilation() to fall back gracefully if parallel recompilation is not supported.

BUG=v8:2733
TEST=mjsunit/manual-parallel-recompile

Review URL: https://codereview.chromium.org/17277002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 16:27:18 +00:00
verwaest@chromium.org
7a229ccf39 Emit deprecated check for constant function transitions.
R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17287003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 16:10:01 +00:00
plind44@gmail.com
5ad53577db Add Gergely Kis to MIPS owners file.
BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 15:19:44 +00:00
palfia@homejinni.com
93609033e1 MIPS: Optimise Math.floor(x/y) to use integer division for MIPS.
Use div instruction if some divisors do not have magic number.

Based on commit r11427 (318a9598).

This commit also ports commit r15161 (554d45c1).

BUG=

Review URL: https://codereview.chromium.org/16951016
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 15:06:41 +00:00
verwaest@chromium.org
202df2e758 Fix constant function transition. Insert return instruction before returning.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17250003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 13:50:56 +00:00
mstarzinger@chromium.org
5fe01da568 Fix bogus replay of arguments object binding in LChunkBuilder.
R=jkummerow@chromium.org
BUG=chromium:249894
TEST=webkit:fast/js/regress/inline-arguments-access.html

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 11:11:41 +00:00
hpayer@chromium.org
2f731575f5 Fix Iteration on gc stress builder.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 06:52:01 +00:00
hpayer@chromium.org
1adbc6134d Fix Regress1465 on gc stress builder.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 06:44:44 +00:00
hpayer@chromium.org
bbdf6dc6cf Fix Regress2237 on gc stress builder.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 06:36:46 +00:00
jkummerow@chromium.org
681cfe9cad Fix MathFloorOfDiv optimization on non-SDIV ARM
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 18:15:49 +00:00
verwaest@chromium.org
328aeb14fb Revert "Improved range analysis for bitwise operations."
This reverts commit r15170

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17093005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 17:25:03 +00:00
jkummerow@chromium.org
47ba2b2dd8 Migrate BinaryOpICs and UnaryOpICs to new type rep
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 17:02:39 +00:00
palfia@homejinni.com
60c2218ae3 MIPS: Refactor only: Rename JSGlobaPropertyCell to PropertyCell
Port r15165 (daf37483)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 17:00:24 +00:00
verwaest@chromium.org
98167ed0a8 Improved range analysis for bitwise operations.
R=fschneider@chromium.org, verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9156001

Patch from Stephen Adams <sra@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:55:34 +00:00
jkummerow@chromium.org
5229b181e2 Add missing NULL check to TypeFeedbackOracle::CompareTypes()
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:50:50 +00:00
jkummerow@chromium.org
fb1057ad5d Fix MathFloorOfDiv canonicalization ASSERT failures
- remove outdated ASSERT about instruction type
- add inserted HChanges to the graph

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:27:52 +00:00
danno@chromium.org
61a23ceb4d Refactor only: Rename JSGlobaPropertyCell to PropertyCell
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:06:12 +00:00
mstarzinger@chromium.org
3626e48e5c Make --trace-code-flushing uniform with other tracing.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:04:58 +00:00
machenbach@chromium.org
a340036e3a This test fails sometimes on all platforms.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 15:58:44 +00:00
machenbach@chromium.org
6a6790be37 HasUnexpectedOutput() is evaluated two times for each test run.
This fix removes the redundant call to allow heavy text comparisons through overwriting of that method.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:57:14 +00:00
jkummerow@chromium.org
de71923b20 Make MathFloorOfDiv optimization trigger more often
BUG=v8:2205
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:33:15 +00:00
ulan@chromium.org
f751e89416 Reland "Make more GCs in idle notification handler."
Fix performance regression on benchmarks by filtering out short idle
notifications.

R=hpayer@chromium.org
BUG=241815

Review URL: https://chromiumcodereview.appspot.com/17005005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:24:03 +00:00
verwaest@chromium.org
7cebf3f684 When HBranch sees Smi, it sees Smi.
R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17064006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:23:05 +00:00
verwaest@chromium.org
773c08c58f Try convert polymorphic stores into a single monomorphic store.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16975006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:16:03 +00:00
yangguo@chromium.org
af599c835d Increase default type info threshold.
R=jkummerow@chromium.org
BUG=v8:2730

Review URL: https://chromiumcodereview.appspot.com/17074002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:15:05 +00:00
verwaest@chromium.org
41c63d8899 Only infer int32 in HBoundsCheck if input is double or int32.
R=jkummerow@chromium.org, mmassi@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17057004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:14:07 +00:00
verwaest@chromium.org
84759d7e6e Cleanup RepresentationFromUseRequirements, move it to HValue and use it where relevant
BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17005004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:13:48 +00:00
svenpanne@chromium.org
62254ae97c Prepare push to trunk. Now working on version 3.19.17.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:02:09 +00:00
dcarney@chromium.org
a07b99f3ae build fix for d8-readline for 15142
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 13:40:47 +00:00