Commit Graph

11883 Commits

Author SHA1 Message Date
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
palfia@homejinni.com
7d53546097 MIPS: Install a generic handler whenever we fail to update the IC. Ignore select cases in StoreIC since we don't have premonomorphic.
Port r15145 (e415de7c)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 13:36:13 +00:00
dcarney@chromium.org
eeded306fd webkit build fix for 15142
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 12:53:19 +00:00
hpayer@chromium.org
08a4a37616 Decrease size of first page of property cell space.
BUG=
R=danno@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:36:55 +00:00
yangguo@chromium.org
b863016da2 Inhibit OSR for big functions.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:35:00 +00:00
hpayer@chromium.org
9e70cb84fb As a last resort try to allocate out of the smaller size size-class in
the free list allocator.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:22:25 +00:00
verwaest@chromium.org
2987b11701 Install a generic handler whenever we fail to update the IC.
Ignore select cases in StoreIC since we don't have premonomorphic.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:21:34 +00:00
dcarney@chromium.org
b0860dd2b0 arm build fix for 15142
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 10:49:57 +00:00
dcarney@chromium.org
022ee63f5c build fix for 15142
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 10:34:12 +00:00
dcarney@chromium.org
a1d359d20e remove V8_USE_UNSAFE_HANDLES define
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 09:46:43 +00:00
mstarzinger@chromium.org
4578f634eb Remove bogus cast in LChunkBuilder::CreateEnvironment.
R=jkummerow@chromium.org
TEST=chromium:content_browsertests

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 09:02:11 +00:00
verwaest@chromium.org
cff21dc168 Observe smi as input for HCompareIDAndBranch
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 07:45:16 +00:00
svenpanne@chromium.org
bcf5912b3f Reduce the amount of full code generated to fill out array literals.
This is achieved by tuning the calling convention of StoreArrayLiteralStub:

 * The map of the array literal can be loaded in the stub from the
   array literal itself, there is no need to pass it at all.

 * The array literal is already on the stack, so there is no need to
   pass it again via a register.

 * The literal index is unchanged while filling the literal, so we can
   push it on the stack once and avoid passing it every time. Note that
   we need to mirror this change in the stack layout in crankshaft, too.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 06:06:00 +00:00
yurys@chromium.org
c4224f09a2 Notify CPU profiler when calling native getters
This change modifies code produced by BaseLoadStubCompiler::GenerateLoadCallback so that instead of calling AccessorGetter direcly it calls InvokeAccessorGetter which changes VM state and calls the actual callback. This way CPU profiler knows which external callback is being executed in this case. Indirect call happens only if CpuProfiler::is_profiling() is true.

This is exactly same change as r15116 with a build fix for test-api.cc

BUG=244580
TBR=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 19:16:35 +00:00
palfia@homejinni.com
6dcc6e27f6 MIPS: Only extend storage if FIELD
Port r15125 (0c202ff0)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 18:49:09 +00:00
palfia@homejinni.com
ddffbb7249 MIPS: Implement IC support for Constant Function transitions.
Port r15124 (6b02a945)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 18:48:19 +00:00
verwaest@chromium.org
91eda65014 Reduce usage of AssumeRepresentation
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 18:09:33 +00:00
palfia@homejinni.com
674d594606 MIPS: Delegating yield does not re-box result objects.
Port r15113 (9d28761)

Delegating yield (yield*) should just pass on the iterator results it
receives instead of re-boxing them.

TEST=mjsunit/harmony/generators-iteration
BUG=

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

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