platform/upstream/v8.git
11 years agoMIPS: Fix Sunspider 1.0/crypto-aes.
palfia@homejinni.com [Wed, 7 Aug 2013 00:39:49 +0000 (00:39 +0000)]
MIPS: Fix Sunspider 1.0/crypto-aes.

* This makes sure that DoModI calculates correct result even when
  the left register is the same as the result register.
* Microoptmization: it generates smaller code when left and result
  are different registers.

TEST=benchmarks/sunspider/crypto-aes.js

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoHandlify factory methods for typed array, ArrayBuffer and DataView.
dslomov@chromium.org [Tue, 6 Aug 2013 19:14:51 +0000 (19:14 +0000)]
Handlify factory methods for typed array, ArrayBuffer and DataView.

These factory methods used pointers for constructor fucntions, therefore
those pointers could corrupt if allocation triggered gc.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix Win64 build after r16079.
dslomov@chromium.org [Tue, 6 Aug 2013 19:13:15 +0000 (19:13 +0000)]
Fix Win64 build after r16079.

TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix Array index dehoisting.
ulan@chromium.org [Tue, 6 Aug 2013 16:38:39 +0000 (16:38 +0000)]
Fix Array index dehoisting.

BUG=264203
TEST=test/mjsunit/regress/regress-264203
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoARM/MIPS: Fix Constant-to-DoubleRegister moves in LGapResolver
jkummerow@chromium.org [Tue, 6 Aug 2013 14:46:50 +0000 (14:46 +0000)]
ARM/MIPS: Fix Constant-to-DoubleRegister moves in LGapResolver

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd flaky test classification feature to test suites.
machenbach@chromium.org [Tue, 6 Aug 2013 14:39:39 +0000 (14:39 +0000)]
Add flaky test classification feature to test suites.

Test expectations can now include outcome: FLAKY.

The test runner can now run a class of tests (flaky|non-flaky|all). All tests are in the non-flaky class that are not marked as FLAKY.

The slash correction for windows is now pulled into the test name method. Currently the progress output on windows contains a mixture of / and \.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoWrap back edge table in an iterator.
yangguo@chromium.org [Tue, 6 Aug 2013 14:38:30 +0000 (14:38 +0000)]
Wrap back edge table in an iterator.

R=titzer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDefine V8EXPORT only in v8.h and use it in the other headers
yurys@chromium.org [Tue, 6 Aug 2013 14:37:35 +0000 (14:37 +0000)]
Define V8EXPORT only in v8.h and use it in the other headers

V8EXPORT is defined in each header of V8 public API and the definitions already have some slight discrepancies. This CL makes all headers use the same definition in v8.h

BUG=None
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove test that causes illegal access now
rossberg@chromium.org [Tue, 6 Aug 2013 14:34:25 +0000 (14:34 +0000)]
Remove test that causes illegal access now

TBR=mstarzinger@chromium.org
BUG=265369

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTurn assert into runtime assertion to make fuzzer happy
rossberg@chromium.org [Tue, 6 Aug 2013 14:19:13 +0000 (14:19 +0000)]
Turn assert into runtime assertion to make fuzzer happy

R=mstarzinger@chromium.org
BUG=265369

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImprove internal stringifcation for custom Error objects.
yangguo@chromium.org [Tue, 6 Aug 2013 13:58:21 +0000 (13:58 +0000)]
Improve internal stringifcation for custom Error objects.

If an developer attempts to "subclass" Error by running
`MyError.prototype = new Error();`, then the internal v8::Message object
that's produced and handed off to `window.onerror` handlers is poorly
stringified as "[object Object]".

This patch adjusts the stringification process for these objects to
include not only native Error objects, but also objects that have Error
in their prototype chain, and haven't overwritten Error.toString with
some custom variant.

BUG=2822
R=mstarzinger@chromium.org, yangguo@chromium.org

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

Patch from Mike West <mkwst@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoI found this working on
rossberg@chromium.org [Tue, 6 Aug 2013 13:49:10 +0000 (13:49 +0000)]
I found this working on

https://codereview.chromium.org/19541010/

The main problem is that if you called Object.getNotifier(obj) on an object, %SetObserved(object) would never get called on it, and thus it would be unobservable (new test added for this).

Additionally, Runtime::SetObserved was asserting obj->IsJSObject() which would fail if called on a proxy.

It just happens that our existing test always called getNotifier() before Object.observe on proxies, and thus we never previously attempted to transition the map of a proxy.

Both issues are now fixed and properly tested.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDesugar bitwise negation into XOR and kill all UnaryOp stuff.
svenpanne@chromium.org [Tue, 6 Aug 2013 13:34:51 +0000 (13:34 +0000)]
Desugar bitwise negation into XOR and kill all UnaryOp stuff.

R=mstarzinger@chromium.org, verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUpdate Array Iterator to use numeric indexes
dslomov@chromium.org [Tue, 6 Aug 2013 13:10:07 +0000 (13:10 +0000)]
Update Array Iterator to use numeric indexes

At the last face-to-face meeting it was decided that we should use
numeric indexes for the Array Iterator values.

https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-07/july-24.md#514-keys-entries-return-numbers-for-array-index-properties

BUG=v8:2818
R=dslomov@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUn-revert "Implement simple effect typing for variables" and "Handle switch effects"
jkummerow@chromium.org [Tue, 6 Aug 2013 12:57:23 +0000 (12:57 +0000)]
Un-revert "Implement simple effect typing for variables" and "Handle switch effects"

This re-lands r15776 and r15777, reverting the revert in r15786.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agor11951 changed the existing check for the __SOFTFP__ define in ARM platforms
bmeurer@chromium.org [Tue, 6 Aug 2013 11:08:32 +0000 (11:08 +0000)]
r11951 changed the existing check for the __SOFTFP__ define in ARM platforms
to a check for __SOFTP. Most other programs look for __SOFTFP__ [1], so
look for both to increase the chances of not erroring out when using GCC 4.5.

[1] Based on http://codesearch.debian.net/search?q=__SOFTFP__ vs
    http://codesearch.debian.net/search?q=__SOFTFP[^_]

BUG=v8:2140
R=bmeurer@chromium.org

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

Patch from Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse standard routine to compute pointer hashs in heap profiler
yurys@chromium.org [Tue, 6 Aug 2013 08:49:05 +0000 (08:49 +0000)]
Use standard routine to compute pointer hashs in heap profiler

BUG=None
R=alph@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix DeferredInstanceMigration to store the result to temp rather than temp to result.
verwaest@chromium.org [Tue, 6 Aug 2013 08:26:31 +0000 (08:26 +0000)]
Fix DeferredInstanceMigration to store the result to temp rather than temp to result.

Thanks to Akos Palfi for finding the bug.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReturn start/end profiling time in microseconds instead of milliseconds
yurys@chromium.org [Tue, 6 Aug 2013 08:00:58 +0000 (08:00 +0000)]
Return start/end profiling time in microseconds instead of milliseconds

The start and end time are now measured in microseconds and the type is int64_t.
This way it seems more natural as we are going to support submilisecond sampling
rate soon. Also it fixes cctest/test-cpu-profiler/ProfileStartEndTime test
failure caused by comparison between long double and double.

TEST=cctest/test-cpu-profiler/ProfileStartEndTime
BUG=v8:2824
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.20.14.
danno@chromium.org [Tue, 6 Aug 2013 07:31:23 +0000 (07:31 +0000)]
Prepare push to trunk.  Now working on version 3.20.14.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agodelete eternal handle blocks correctly
dcarney@chromium.org [Tue, 6 Aug 2013 06:34:54 +0000 (06:34 +0000)]
delete eternal handle blocks correctly

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Migrate instance of deprecated maps in HCheckMaps.
palfia@homejinni.com [Tue, 6 Aug 2013 01:12:10 +0000 (01:12 +0000)]
MIPS: Migrate instance of deprecated maps in HCheckMaps.

Port r16057 (b73ae514)

Original commit message:
Currently only direct map checks are supported. Otherwise only polymorphic cases with a generic fallback behave properly, regular polymorphic cases still need to be adapted.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMake some constants' meaning clear for X64
haitao.feng@intel.com [Tue, 6 Aug 2013 00:09:01 +0000 (00:09 +0000)]
Make some constants' meaning clear for X64

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Replace HCheckPrototypeMaps by explicit map checks of constant values.
palfia@homejinni.com [Mon, 5 Aug 2013 17:04:10 +0000 (17:04 +0000)]
MIPS: Replace HCheckPrototypeMaps by explicit map checks of constant values.

Port r16055 (7567e57f)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoChange environment padding value to value with smi representation.
verwaest@chromium.org [Mon, 5 Aug 2013 16:53:28 +0000 (16:53 +0000)]
Change environment padding value to value with smi representation.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse first hit when dumping heap constants.
mstarzinger@chromium.org [Mon, 5 Aug 2013 16:47:45 +0000 (16:47 +0000)]
Use first hit when dumping heap constants.

This makes sure that the first hit is used when dumping heap constants
and hence "TheHoleValue" is not overwritten with other roots that are
initialized to the hole as well.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMigrate instance of deprecated maps in HCheckMaps.
verwaest@chromium.org [Mon, 5 Aug 2013 16:42:39 +0000 (16:42 +0000)]
Migrate instance of deprecated maps in HCheckMaps.

Currently only direct map checks are supported. Otherwise only polymorphic cases with a generic fallback behave properly, regular polymorphic cases still need to be adapted.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd "benchmarks" test suite
jkummerow@chromium.org [Mon, 5 Aug 2013 14:54:09 +0000 (14:54 +0000)]
Add "benchmarks" test suite

R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReplace HCheckPrototypeMaps by explicit map checks of constant values.
verwaest@chromium.org [Mon, 5 Aug 2013 13:45:16 +0000 (13:45 +0000)]
Replace HCheckPrototypeMaps by explicit map checks of constant values.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMore cleanup regarding the maximum non-large object allocation size.
hpayer@chromium.org [Mon, 5 Aug 2013 12:52:53 +0000 (12:52 +0000)]
More cleanup regarding the maximum non-large object allocation size.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoIntroduce Push and Pop register macro instructions for all platforms
haitao.feng@intel.com [Mon, 5 Aug 2013 12:43:04 +0000 (12:43 +0000)]
Introduce Push and Pop register macro instructions for all platforms

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Return start/end profiling time in microseconds instead of milliseconds"
bmeurer@chromium.org [Mon, 5 Aug 2013 12:27:12 +0000 (12:27 +0000)]
Revert "Return start/end profiling time in microseconds instead of milliseconds"

This reverts r16049 for breaking build on windows.

TBR=svenpanne@chromium.org,machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReturn start/end profiling time in microseconds instead of milliseconds
yurys@chromium.org [Mon, 5 Aug 2013 11:48:24 +0000 (11:48 +0000)]
Return start/end profiling time in microseconds instead of milliseconds

The start and end time are now measured in microseconds and the type is int64_t. This way it seems more natural as we are going to support submilisecond sampling rate soon. Also it fixes cctest/test-cpu-profiler/ProfileStartEndTime test failure caused by comparison between long double and double.

TEST=cctest/test-cpu-profiler/ProfileStartEndTime
BUG=v8:2824
R=alph@chromium.org, bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoExpose JSON parser through V8 API
jochen@chromium.org [Mon, 5 Aug 2013 11:14:46 +0000 (11:14 +0000)]
Expose JSON parser through V8 API

BUG=v8:2821
TEST=cctest/test-api/JSONParse
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agofix 16045
dcarney@chromium.org [Mon, 5 Aug 2013 10:04:50 +0000 (10:04 +0000)]
fix 16045

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agointroduce eternal handles
dcarney@chromium.org [Mon, 5 Aug 2013 09:46:23 +0000 (09:46 +0000)]
introduce eternal handles

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd explicit transition flag to HStoreNamedField.
mstarzinger@chromium.org [Mon, 5 Aug 2013 09:35:18 +0000 (09:35 +0000)]
Add explicit transition flag to HStoreNamedField.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd notice when parallel recompilation is disabled by tracing.
yangguo@chromium.org [Mon, 5 Aug 2013 09:28:22 +0000 (09:28 +0000)]
Add notice when parallel recompilation is disabled by tracing.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDisable parallel recompilation for --trace-hydrogen-stubs.
yangguo@chromium.org [Mon, 5 Aug 2013 09:02:47 +0000 (09:02 +0000)]
Disable parallel recompilation for --trace-hydrogen-stubs.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix the loop-builder to tag the entire body as part of the loop.
verwaest@chromium.org [Mon, 5 Aug 2013 08:59:55 +0000 (08:59 +0000)]
Fix the loop-builder to tag the entire body as part of the loop.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMake GlobalHandle::NodeBlock deletable
dcarney@chromium.org [Mon, 5 Aug 2013 07:34:29 +0000 (07:34 +0000)]
Make GlobalHandle::NodeBlock deletable

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd start and end profiling time to v8::CpuProfile
yurys@chromium.org [Mon, 5 Aug 2013 07:17:08 +0000 (07:17 +0000)]
Add start and end profiling time to v8::CpuProfile

I'm going to change CPU profiler API and deprecate GetSelfTime, GetTotalTime and GetTotalSamplesCount on CpuProfileNode as all of those values are derived from self samples count and sampling rate. The sampling rate in turn is calculate based on the profiling duration so having start/end time and total sample count is enough for calculating smpling rate.

BUG=267595
R=alph@chromium.org, bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove unused UNARY_MINUS builtin.
svenpanne@chromium.org [Mon, 5 Aug 2013 07:00:38 +0000 (07:00 +0000)]
Remove unused UNARY_MINUS builtin.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoIsNearDeath needs to include pending nodes
dcarney@chromium.org [Mon, 5 Aug 2013 06:58:48 +0000 (06:58 +0000)]
IsNearDeath needs to include pending nodes

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoClean some unuse code of unary negation
svenpanne@chromium.org [Mon, 5 Aug 2013 06:34:26 +0000 (06:34 +0000)]
Clean some unuse code of unary negation

R=svenpanne@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Avoid redundant smi check for Math.abs
palfia@homejinni.com [Fri, 2 Aug 2013 18:35:19 +0000 (18:35 +0000)]
MIPS: Avoid redundant smi check for Math.abs

Port r16021 (d79f4450)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoIntroduce PopReturnAddressTo and PushReturnAddressFrom macro-assembler instructions...
haitao.feng@intel.com [Fri, 2 Aug 2013 13:42:02 +0000 (13:42 +0000)]
Introduce PopReturnAddressTo and PushReturnAddressFrom macro-assembler instructions for X64

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd size_t length argument to v8::ArrayBuffer::Allocator::Free.
dslomov@chromium.org [Fri, 2 Aug 2013 13:03:06 +0000 (13:03 +0000)]
Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
The previous implementation of Free is a deprecated overload now.

R=mstarzinger@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=16031

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Add size_t length argument to v8::ArrayBuffer::Allocator::Free."
dslomov@chromium.org [Fri, 2 Aug 2013 12:56:53 +0000 (12:56 +0000)]
Revert "Add size_t length argument to v8::ArrayBuffer::Allocator::Free."

This reverts r16031 for breaking shared build.

TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd size_t length argument to v8::ArrayBuffer::Allocator::Free.
dslomov@chromium.org [Fri, 2 Aug 2013 12:19:22 +0000 (12:19 +0000)]
Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
The previous implementation of Free is a deprecated overload now.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRegression test for issue 2813 / r16008
jkummerow@chromium.org [Fri, 2 Aug 2013 12:17:19 +0000 (12:17 +0000)]
Regression test for issue 2813 / r16008

BUG=v8:2813
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReplaced unary negation by multiplication with -1.
svenpanne@chromium.org [Fri, 2 Aug 2013 11:56:35 +0000 (11:56 +0000)]
Replaced unary negation by multiplication with -1.

This fixes a deopt loop in the Epic Citadel demo and removes some code. Apart from that, this change is performance-neutral.

When we do something similar for BIT_NOT, the whole UnaryOp stuff can go away.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoStore transition on HStoreNamedField as HConstant.
mstarzinger@chromium.org [Fri, 2 Aug 2013 11:24:55 +0000 (11:24 +0000)]
Store transition on HStoreNamedField as HConstant.

This allows optimization passes that run in the parallel compiler thread
to use the map that a store transitions to for further analysis even
though the map handle cannot be dereferenced.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove instructions and infrastructure related to IDEFs that is now obsolete (and...
titzer@chromium.org [Fri, 2 Aug 2013 11:17:26 +0000 (11:17 +0000)]
Remove instructions and infrastructure related to IDEFs that is now obsolete (and was never turned on). The new bounds check elimination phase doesn't make use of these features, as they were the first parts of the previous approach which was never completed.
BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMake optimized debug builds link against debug CRT.
machenbach@chromium.org [Fri, 2 Aug 2013 10:59:23 +0000 (10:59 +0000)]
Make optimized debug builds link against debug CRT.

We recently had some XP issues on chromium.win after https://codereview.chromium.org/19384011/.

This might fix it - quote: "The most likely cause of the problem is a gyp (or similar) change that resulted in v8.dll linking against the release version of the crt (for a debug build). There are two MS VC related files: the crt and the c++ std lib (MSVCR100.DLL and MSVCP100D.DLL). The former is set to release, the latter to debug."

I am not entirely sure if this change fits to the linker options for debug level 2.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd new Harmony methods to Array.prototype object.
mstarzinger@chromium.org [Fri, 2 Aug 2013 10:57:48 +0000 (10:57 +0000)]
Add new Harmony methods to Array.prototype object.

Array.prototype.find
Array.prototype.findIndex

http://people.mozilla.org/~jorendorff/es6-draft.html

BUG=v8:2776,v8:2777
TEST=mjsunit/harmony/array-find,mjsunit/harmony/array-findindex
R=mstarzinger@chromium.org

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

Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoExtract hardcoded error strings into a single place and replace them with enum.
loislo@chromium.org [Fri, 2 Aug 2013 09:53:11 +0000 (09:53 +0000)]
Extract hardcoded error strings into a single place and replace them with enum.

I'd like to propagate bailout reason to cpu profiler.
So I need to save it into heap object SharedFunctionInfo.
But:
1) all bailout reason strings spread across all the sources.
2) they are native strings and if I convert them into String then I may have a performance issue.
3) one byte is enough for 184 bailout reasons. Otherwise we need 8 bytes for the pointer.

Also I think it would be nice to have error strings collected in one place.
In that case we will get additional benefits:

It allows us to keep this set of messages under control.
It gives us a chance to internationalize them.
It slightly reduces the binary footprint.

From the other hand the developers have to add new strings into that enum.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix Mac build after r16022.
mstarzinger@chromium.org [Fri, 2 Aug 2013 09:35:44 +0000 (09:35 +0000)]
Fix Mac build after r16022.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoGenerate grokdump constants with 'make grokdump' now.
mstarzinger@chromium.org [Fri, 2 Aug 2013 09:02:02 +0000 (09:02 +0000)]
Generate grokdump constants with 'make grokdump' now.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAvoid redundant smi check for Math.abs
jkummerow@chromium.org [Fri, 2 Aug 2013 08:59:02 +0000 (08:59 +0000)]
Avoid redundant smi check for Math.abs

R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse test(reg, imm) when the operand is a register on ia32
jkummerow@chromium.org [Fri, 2 Aug 2013 08:55:26 +0000 (08:55 +0000)]
Use test(reg, imm) when the operand is a register on ia32

R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTSan: Move definition of AtomicOps_x86CPUFeatureStruct into v8::internal namespace
jkummerow@chromium.org [Fri, 2 Aug 2013 08:52:59 +0000 (08:52 +0000)]
TSan: Move definition of AtomicOps_x86CPUFeatureStruct into v8::internal namespace

This matches other atomicops_internals_* files.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert windows-specific part of r15937 for debug level 1.
machenbach@chromium.org [Fri, 2 Aug 2013 07:58:23 +0000 (07:58 +0000)]
Revert windows-specific part of r15937 for debug level 1.

The change in r15937 might have broken a mozilla test under windows. See https://codereview.chromium.org/19384011/

Each case of debug 0,1,2 is now stated explicitly for better clarity in the msvs section. This causes some minor code duplications, which we can squeeze again after toolchain.gypi is in a stable state.

R=dpranke@chromium.org, jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDisable test in object observe because of bug 2774.
hpayer@chromium.org [Fri, 2 Aug 2013 06:40:50 +0000 (06:40 +0000)]
Disable test in object observe because of bug 2774.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReenable tests that need to access the default timezone.
jochen@chromium.org [Thu, 1 Aug 2013 19:43:06 +0000 (19:43 +0000)]
Reenable tests that need to access the default timezone.

It's now available via builtins.

BUG=v8:2475
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMove helper methods from i18n extension into runtime.
jochen@chromium.org [Thu, 1 Aug 2013 19:25:27 +0000 (19:25 +0000)]
Move helper methods from i18n extension into runtime.

BUG=v8:2475
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix incorrect #ifdef statements for I18N support.
jochen@chromium.org [Thu, 1 Aug 2013 19:21:16 +0000 (19:21 +0000)]
Fix incorrect #ifdef statements for I18N support.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove test that v8Intl symbol exists, as we don't define it anymore.
jochen@chromium.org [Thu, 1 Aug 2013 19:20:42 +0000 (19:20 +0000)]
Remove test that v8Intl symbol exists, as we don't define it anymore.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoNever define 'DEBUG' for non-v8 code
jochen@chromium.org [Thu, 1 Aug 2013 19:20:01 +0000 (19:20 +0000)]
Never define 'DEBUG' for non-v8 code

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.20.13.
danno@chromium.org [Thu, 1 Aug 2013 16:57:58 +0000 (16:57 +0000)]
Prepare push to trunk.  Now working on version 3.20.13.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove buggy ToNumber truncation
jkummerow@chromium.org [Thu, 1 Aug 2013 16:12:31 +0000 (16:12 +0000)]
Remove buggy ToNumber truncation

BUG=v8:2813
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix mozilla regress-398085-01 failure on windows.
ulan@chromium.org [Thu, 1 Aug 2013 12:55:19 +0000 (12:55 +0000)]
Fix mozilla regress-398085-01 failure on windows.

Make sure that all stack pages are mapped before accessing them.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCalling Map etc without new should throw TypeError
dslomov@chromium.org [Thu, 1 Aug 2013 09:18:28 +0000 (09:18 +0000)]
Calling Map etc without new should throw TypeError

Even though we do not yet allow Map, Set, WeakMap and WeakSet to be
subclassed we need to ensure that we do not allow them to be [[Call]]ed
to allow them to be subclassed in the future.

BUG=v8:2819
R=dslomov@chromium.org, mstarzinger@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSpeed-up 'new TypedArray(arrayLike)'.
dslomov@chromium.org [Thu, 1 Aug 2013 08:52:21 +0000 (08:52 +0000)]
Speed-up 'new TypedArray(arrayLike)'.

Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.

Allocate backing store uninitialized in cases when we can guarantee
complete initialization.

R=bmeurer@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=15998

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPretenure heap number in high promotino mode if a store requires a mutable heap numbe...
hpayer@chromium.org [Thu, 1 Aug 2013 08:49:27 +0000 (08:49 +0000)]
Pretenure heap number in high promotino mode if a store requires a mutable heap number to be allocated.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Speed-up 'new TypedArray(arrayLike)'."
dslomov@chromium.org [Thu, 1 Aug 2013 08:47:39 +0000 (08:47 +0000)]
Revert "Speed-up 'new TypedArray(arrayLike)'."

This reverts commit r15998 for breaking NaCl build.

TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoGet rid of HStringLength.
bmeurer@chromium.org [Thu, 1 Aug 2013 08:42:47 +0000 (08:42 +0000)]
Get rid of HStringLength.

Use HLoadNamedField to load the string length field instead.

Depends on: https://codereview.chromium.org/21488002

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix printing of Harmony Set and Map instances.
mstarzinger@chromium.org [Thu, 1 Aug 2013 08:36:21 +0000 (08:36 +0000)]
Fix printing of Harmony Set and Map instances.

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCleaning up HAllocate space and double alignment selection.
hpayer@chromium.org [Thu, 1 Aug 2013 08:34:36 +0000 (08:34 +0000)]
Cleaning up HAllocate space and double alignment selection.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix broken HCheckInstanceType::Canonicalize().
bmeurer@chromium.org [Thu, 1 Aug 2013 08:27:46 +0000 (08:27 +0000)]
Fix broken HCheckInstanceType::Canonicalize().

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSpeed-up 'new TypedArray(arrayLike)'.
dslomov@chromium.org [Thu, 1 Aug 2013 08:19:51 +0000 (08:19 +0000)]
Speed-up 'new TypedArray(arrayLike)'.

Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.

Allocate backing store uninitialized in cases when we can guarantee
complete initialization.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix a crash when generating forward jumps to labels at very high assembly offsets
bmeurer@chromium.org [Thu, 1 Aug 2013 08:13:08 +0000 (08:13 +0000)]
Fix a crash when generating forward jumps to labels at very high assembly offsets

The first jump to a specific label was marked as jump to absolute
position -4. This value was stored in the assembly as a branch to a
offset (-4 - (instruction offset + 8)). The offset is only 24 bit
long on ARM. Thus instruction offsets higher than 2^23 - 12 would overflow
the offset.

Fix by denoting the first jump to a label by storing the jump
instruction location as the target. This will result in offset of -8,
which of course always fits in the branch instruction.

BUG=2736
TEST=cctest/test-assembler-arm/17
R=bmeurer@chromium.org, svenpanne@chromium.org

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

Patch from Kimmo Kinnunen <kkinnunen@nvidia.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrint HAllocate flags in --trace-hydrogen.
hpayer@chromium.org [Thu, 1 Aug 2013 07:56:36 +0000 (07:56 +0000)]
Print HAllocate flags in --trace-hydrogen.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove elements transitions from the transition array.
verwaest@chromium.org [Wed, 31 Jul 2013 17:08:50 +0000 (17:08 +0000)]
Remove elements transitions from the transition array.

This is preparatory work for reordering the transition tree. Since elements transitions will be at the root of the transition tree, runtime access to them is slow since we have to walk the transition tree backwards first. Hence remove the optimization that promoted them to a special field, requiring a pointer (mostly NULL) in every non-simple transition array.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMake sure that bce creates constants of right type
danno@chromium.org [Wed, 31 Jul 2013 16:41:51 +0000 (16:41 +0000)]
Make sure that bce creates constants of right type

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix overzealous casting that erroneously lead to ASSERTs
danno@chromium.org [Wed, 31 Jul 2013 15:40:24 +0000 (15:40 +0000)]
Fix overzealous casting that erroneously lead to ASSERTs

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImprove instruction creating/adding shorthand in HGraphBuilder
danno@chromium.org [Wed, 31 Jul 2013 14:58:39 +0000 (14:58 +0000)]
Improve instruction creating/adding shorthand in HGraphBuilder

Add multi-argument templates for New, NewUncasted, Add and AddUncasted that
call boilerplate HInstruction::New methods rather than the constructor directly.
This allows for automatic passing of the zone and context for instructions that
need them.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoStores to external references don't need write barriers.
bmeurer@chromium.org [Wed, 31 Jul 2013 13:45:51 +0000 (13:45 +0000)]
Stores to external references don't need write barriers.

This also applies to stores with an external field representation.

Also cleans up the CreateAllocationSiteStub.

R=mstarzinger@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUpdate V8's dependencies:
jochen@chromium.org [Wed, 31 Jul 2013 13:41:12 +0000 (13:41 +0000)]
Update V8's dependencies:

GYP: Correctly handle GCC_C_LANGUAGE_STANDARD 'ansi'
ICU: Use the correct assembly file when cross compiling from Mac to Android

BUG=none
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix SHL when shift amount is zero for arm and mips.
ulan@chromium.org [Wed, 31 Jul 2013 12:46:54 +0000 (12:46 +0000)]
Fix SHL when shift amount is zero for arm and mips.

BUG=v8:2817
R=titzer@chromium.org
TEST=octane

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd common artifacts to .gitignore.
bmeurer@chromium.org [Wed, 31 Jul 2013 12:38:43 +0000 (12:38 +0000)]
Add common artifacts to .gitignore.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReimplement TypedArray.set in Javascript.
dslomov@chromium.org [Wed, 31 Jul 2013 12:10:49 +0000 (12:10 +0000)]
Reimplement TypedArray.set in Javascript.

Implement all cases for TypedArray.set in Javascript, except the case
where memmove is used. This makes it many times faster.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAvoid the use of set_type() in instruction constructors.
bmeurer@chromium.org [Wed, 31 Jul 2013 10:56:46 +0000 (10:56 +0000)]
Avoid the use of set_type() in instruction constructors.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoGet rid of HLinkObjectInList.
bmeurer@chromium.org [Wed, 31 Jul 2013 10:47:44 +0000 (10:47 +0000)]
Get rid of HLinkObjectInList.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove special handling of fields in combination with elements transitions in Crankshaft.
verwaest@chromium.org [Wed, 31 Jul 2013 10:08:05 +0000 (10:08 +0000)]
Remove special handling of fields in combination with elements transitions in Crankshaft.

Instead first try to keep ICs monomorphic if elements kinds generalize. If that fails, use standard polymorphic handling. The Try*PolymorphicAsMonomorphic methods will automatically produce code similar to the previous approach using CheckMapsWithTransitions.

BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCompile fix for older GCCs.
bmeurer@chromium.org [Wed, 31 Jul 2013 10:03:59 +0000 (10:03 +0000)]
Compile fix for older GCCs.

TBR=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix HType handling for HConstant with external references.
bmeurer@chromium.org [Wed, 31 Jul 2013 09:38:37 +0000 (09:38 +0000)]
Fix HType handling for HConstant with external references.

We cannot use set_type() with HType::None() in the HConstant
constructor, since set_type() asserts that the new type is a
subtype of the previous one, but HType::None() is not a subtype
of HType::Tagged() which is the initial type set by the HValue
constructor.

This patch adds an optional type parameter to the HValue,
HInstruction and HTemplateInstruction constructors.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEagerly set the types of many kinds of hydrogen instructions.
titzer@chromium.org [Wed, 31 Jul 2013 09:29:30 +0000 (09:29 +0000)]
Eagerly set the types of many kinds of hydrogen instructions.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd gate keeper logic to presubmit commit check.
machenbach@chromium.org [Wed, 31 Jul 2013 09:16:31 +0000 (09:16 +0000)]
Add gate keeper logic to presubmit commit check.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix stale unhandlified value in JSObject::SetPropertyForResult.
mstarzinger@chromium.org [Wed, 31 Jul 2013 08:51:18 +0000 (08:51 +0000)]
Fix stale unhandlified value in JSObject::SetPropertyForResult.

R=danno@chromium.org
BUG=chromium:265894

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00