platform/upstream/v8.git
11 years agoPrepare push to trunk. Now working on version 3.21.0
danno@chromium.org [Wed, 14 Aug 2013 17:10:14 +0000 (17:10 +0000)]
Prepare push to trunk.  Now working on version 3.21.0

R=mstarzinger@chromium.org

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

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

11 years agoFix GC Mole warning
danno@chromium.org [Wed, 14 Aug 2013 17:03:19 +0000 (17:03 +0000)]
Fix GC Mole warning

R=mstarzinger@chromium.org

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

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

11 years agoFix src/version.cc number to be consistent with next trunk push
danno@chromium.org [Wed, 14 Aug 2013 17:00:16 +0000 (17:00 +0000)]
Fix src/version.cc number to be consistent with next trunk push

R=mstarzinger@chromium.org

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

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

11 years agoFix no-sse2 part 2.
verwaest@chromium.org [Wed, 14 Aug 2013 16:58:14 +0000 (16:58 +0000)]
Fix no-sse2 part 2.

R=danno@chromium.org

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

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

11 years agoFix Crankshafted CompareNil of constant values
danno@chromium.org [Wed, 14 Aug 2013 16:13:58 +0000 (16:13 +0000)]
Fix Crankshafted CompareNil of constant values

R=jkummerow@chromium.org

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

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

11 years agoFix CmpHoleAndBranch on no-sse2
verwaest@chromium.org [Wed, 14 Aug 2013 15:50:23 +0000 (15:50 +0000)]
Fix CmpHoleAndBranch on no-sse2

R=danno@chromium.org

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

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

11 years agoRevert "Drop broken and unnecessary RequiredInputRepresentation() in HMathFloorOfDiv."
bmeurer@chromium.org [Wed, 14 Aug 2013 14:50:15 +0000 (14:50 +0000)]
Revert "Drop broken and unnecessary RequiredInputRepresentation() in HMathFloorOfDiv."

This reverts r16190.

TBR=danno@chromium.org

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

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

11 years agoDrop broken and unnecessary RequiredInputRepresentation() in HMathFloorOfDiv.
bmeurer@chromium.org [Wed, 14 Aug 2013 14:34:40 +0000 (14:34 +0000)]
Drop broken and unnecessary RequiredInputRepresentation() in HMathFloorOfDiv.

R=titzer@chromium.org

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

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

11 years agoupdates
jochen@chromium.org [Wed, 14 Aug 2013 12:53:09 +0000 (12:53 +0000)]
updates

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

11 years agoupdates
jochen@chromium.org [Wed, 14 Aug 2013 12:53:01 +0000 (12:53 +0000)]
updates

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

11 years agoAdd a bootstrap script to make it easier to build gcmole
jochen@chromium.org [Wed, 14 Aug 2013 12:52:51 +0000 (12:52 +0000)]
Add a bootstrap script to make it easier to build gcmole

R=machenbach@chromium.org

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

11 years agoRevert "Make GlobalHandle::NodeBlock deletable"
jkummerow@chromium.org [Wed, 14 Aug 2013 12:40:44 +0000 (12:40 +0000)]
Revert "Make GlobalHandle::NodeBlock deletable"

This reverts r16040 due to OOM crashes.

R=danno@chromium.org

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

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

11 years agoFix Math.round/floor that had bogus Smi representation
jkummerow@chromium.org [Wed, 14 Aug 2013 12:14:08 +0000 (12:14 +0000)]
Fix Math.round/floor that had bogus Smi representation

BUG=chromium:272564
R=verwaest@chromium.org

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

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

11 years agoLoad size in signed int before making negative.
verwaest@chromium.org [Wed, 14 Aug 2013 09:47:27 +0000 (09:47 +0000)]
Load size in signed int before making negative.

R=danno@chromium.org

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

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

11 years agoNever hchange nan-hole to hole or hole to nan-hole.
verwaest@chromium.org [Wed, 14 Aug 2013 08:54:27 +0000 (08:54 +0000)]
Never hchange nan-hole to hole or hole to nan-hole.
Only allow changing hole to nan if all uses allow undefined as nan.

R=danno@chromium.org

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

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

11 years agoMIPS: Store doubles before calling into the elements transition stub
palfia@homejinni.com [Tue, 13 Aug 2013 23:34:34 +0000 (23:34 +0000)]
MIPS: Store doubles before calling into the elements transition stub

Port r16172 (cc2b6204)

BUG=

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

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

11 years agoFix overflow check computation for Smi Phis
jkummerow@chromium.org [Tue, 13 Aug 2013 18:18:24 +0000 (18:18 +0000)]
Fix overflow check computation for Smi Phis

BUG=v8:2836
R=verwaest@chromium.org

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

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

11 years agoFix overwriting order of object literal properties for MATERIALIZED_LITERALs
jkummerow@chromium.org [Tue, 13 Aug 2013 17:27:58 +0000 (17:27 +0000)]
Fix overwriting order of object literal properties for MATERIALIZED_LITERALs

R=mstarzinger@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.17.
danno@chromium.org [Tue, 13 Aug 2013 17:08:20 +0000 (17:08 +0000)]
Prepare push to trunk.  Now working on version 3.20.17.

R=jkummerow@chromium.org

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

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

11 years agoUse Cell instead of PropertyCell in DoCheckFunction (in case of new space object).
yangguo@chromium.org [Tue, 13 Aug 2013 16:58:14 +0000 (16:58 +0000)]
Use Cell instead of PropertyCell in DoCheckFunction (in case of new space object).

R=danno@chromium.org
BUG=

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

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

11 years agoFix bug in HPhi::SimplifyConstantInput
yangguo@chromium.org [Tue, 13 Aug 2013 16:47:27 +0000 (16:47 +0000)]
Fix bug in HPhi::SimplifyConstantInput

R=jkummerow@chromium.org
BUG=269679

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

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

11 years agoMake HToFastProperties GC safe.
jkummerow@chromium.org [Tue, 13 Aug 2013 16:26:53 +0000 (16:26 +0000)]
Make HToFastProperties GC safe.

The runtime call can cause a GC, so the instruction must have proper flags set.

R=mstarzinger@chromium.org

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

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

11 years agoStore doubles before calling into the elements transition stub on ARM
verwaest@chromium.org [Tue, 13 Aug 2013 15:06:17 +0000 (15:06 +0000)]
Store doubles before calling into the elements transition stub on ARM

BUG=
R=ulan@chromium.org

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

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

11 years agoFix gcmole bugs in i18n code
jochen@chromium.org [Tue, 13 Aug 2013 12:24:44 +0000 (12:24 +0000)]
Fix gcmole bugs in i18n code

R=mstarzinger@chromium.org,dcarney@chromium.org
BUG=v8:2745

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

11 years agoAlso add i18n directories to gcmole
jochen@chromium.org [Tue, 13 Aug 2013 12:22:56 +0000 (12:22 +0000)]
Also add i18n directories to gcmole

R=vegorov@chromium.org

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

11 years agoRun gcmole on i18n code.
jochen@chromium.org [Tue, 13 Aug 2013 11:05:30 +0000 (11:05 +0000)]
Run gcmole on i18n code.

BUG=none
R=vegorov@chromium.org, vegorov@google.com

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

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

11 years agoMark CheckMaps that can cause migration with ChangesNewSpacePromotion.
verwaest@chromium.org [Tue, 13 Aug 2013 09:38:46 +0000 (09:38 +0000)]
Mark CheckMaps that can cause migration with ChangesNewSpacePromotion.

BUG=
R=danno@chromium.org

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

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

11 years agoIgnore flaky intl test.
machenbach@chromium.org [Tue, 13 Aug 2013 08:30:06 +0000 (08:30 +0000)]
Ignore flaky intl test.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoMIPS: Make assert more accurate
palfia@homejinni.com [Tue, 13 Aug 2013 00:45:24 +0000 (00:45 +0000)]
MIPS: Make assert more accurate

Port r16147 (1ced433a)

BUG=

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

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

11 years agoia32: Calls to the TranscendentalCacheStub must ensure that esi is set to something...
jkummerow@chromium.org [Mon, 12 Aug 2013 16:54:12 +0000 (16:54 +0000)]
ia32: Calls to the TranscendentalCacheStub must ensure that esi is set to something safe.

BUG=v8:2827
R=verwaest@chromium.org

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

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

11 years agoMIPS: Replace LoadNamedFieldPolymorphic with explicit branches.
palfia@homejinni.com [Mon, 12 Aug 2013 15:02:57 +0000 (15:02 +0000)]
MIPS: Replace LoadNamedFieldPolymorphic with explicit branches.

Port r16133 (dce32514)

BUG=

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

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

11 years agoFix regressions triggered by map invalidation during graph creation.
yangguo@chromium.org [Mon, 12 Aug 2013 14:10:25 +0000 (14:10 +0000)]
Fix regressions triggered by map invalidation during graph creation.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoRemove test from deopt fuzzer skip list after bugfix.
machenbach@chromium.org [Mon, 12 Aug 2013 13:55:54 +0000 (13:55 +0000)]
Remove test from deopt fuzzer skip list after bugfix.

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

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

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

11 years agoDo not materialize uninitialized const for debug evaluate.
yangguo@chromium.org [Mon, 12 Aug 2013 13:35:46 +0000 (13:35 +0000)]
Do not materialize uninitialized const for debug evaluate.

R=prybin@chromium.org
BUG=

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

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

11 years agoMake assert more accurate
verwaest@chromium.org [Mon, 12 Aug 2013 09:34:55 +0000 (09:34 +0000)]
Make assert more accurate

BUG=
R=verwaest@chromium.org

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

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

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

11 years agoBreak typecheck dependency in escape analysis.
verwaest@chromium.org [Mon, 12 Aug 2013 09:26:18 +0000 (09:26 +0000)]
Break typecheck dependency in escape analysis.

R=mstarzinger@chromium.org

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

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

11 years agoIgnore an unsuitable test under deopt fuzz.
machenbach@chromium.org [Mon, 12 Aug 2013 08:59:42 +0000 (08:59 +0000)]
Ignore an unsuitable test under deopt fuzz.

That test relies on certain optimization/deoptimization points and is therefore not useful for the deopt fuzzer.

R=mstarzinger@chromium.org

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

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

11 years agoReturn i18n object holders directly.
jochen@chromium.org [Mon, 12 Aug 2013 08:19:06 +0000 (08:19 +0000)]
Return i18n object holders directly.

BUG=none
R=dcarney@chromium.org,mstarzinger@chromium.org

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

11 years agoMake all load-named-fields depend on their map-check, unless explicitly ignored.
verwaest@chromium.org [Fri, 9 Aug 2013 18:40:10 +0000 (18:40 +0000)]
Make all load-named-fields depend on their map-check, unless explicitly ignored.

BUG=
R=titzer@chromium.org

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

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

11 years agoRevert "Promote ArrayBuffer, DataView and typed arrays to non-experimental."
dslomov@chromium.org [Fri, 9 Aug 2013 16:23:00 +0000 (16:23 +0000)]
Revert "Promote ArrayBuffer, DataView and typed arrays to non-experimental."

This reverts commit r16137 for breaking tests on Windows.

TBR=mstarzinger@chromium.org

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

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

11 years agoPromote ArrayBuffer, DataView and typed arrays to non-experimental.
dslomov@chromium.org [Fri, 9 Aug 2013 15:57:31 +0000 (15:57 +0000)]
Promote ArrayBuffer, DataView and typed arrays to non-experimental.

The primary reason for this change is to bake these guys into the
snapshot.

Flag definitions (--harmony-typed-arrays, --harmony-array-buffer) are
still there so that Blink does not complain, but they are noop and
default to true.

R=mstarzinger@chromium.org

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

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

11 years agoMake sure polymorphic element access creates non-replaying phis.
mstarzinger@chromium.org [Fri, 9 Aug 2013 15:23:15 +0000 (15:23 +0000)]
Make sure polymorphic element access creates non-replaying phis.

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

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

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

11 years agoAllow HPhis to have an invalid merge index.
mstarzinger@chromium.org [Fri, 9 Aug 2013 15:18:23 +0000 (15:18 +0000)]
Allow HPhis to have an invalid merge index.

All phis that do not represent local variables or values on the operand
stack are not allowed to carry a merge index, as the replay of the
HEnvironment during LChunkBuilder time might get out of sync due to
colliding indexes.

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

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

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

11 years agoSet bailout reason to kCodeGenerationFailed only when it is not set yet
yurys@chromium.org [Fri, 9 Aug 2013 15:10:06 +0000 (15:10 +0000)]
Set bailout reason to kCodeGenerationFailed only when it is not set yet

BUG=None
R=jkummerow@chromium.org

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

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

11 years agoReplace LoadNamedFieldPolymorphic with explicit branches.
verwaest@chromium.org [Fri, 9 Aug 2013 14:04:47 +0000 (14:04 +0000)]
Replace LoadNamedFieldPolymorphic with explicit branches.

R=ulan@chromium.org

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

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

11 years agoFix/unify root handling in code generation.
bmeurer@chromium.org [Fri, 9 Aug 2013 13:43:46 +0000 (13:43 +0000)]
Fix/unify root handling in code generation.

R=danno@chromium.org

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

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

11 years agoDeoptimization is easier to diagnose when there is a text reason.
mvstanton@chromium.org [Fri, 9 Aug 2013 12:50:42 +0000 (12:50 +0000)]
Deoptimization is easier to diagnose when there is a text reason.

BUG=
R=verwaest@chromium.org

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

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

11 years agoReduce some code duplication
verwaest@chromium.org [Fri, 9 Aug 2013 12:33:06 +0000 (12:33 +0000)]
Reduce some code duplication

R=svenpanne@chromium.org

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

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

11 years agoReplace MathFloor/Round by HChange if the input representation does not match the...
verwaest@chromium.org [Fri, 9 Aug 2013 12:03:40 +0000 (12:03 +0000)]
Replace MathFloor/Round by HChange if the input representation does not match the output representation

R=svenpanne@chromium.org

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

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

11 years agoFix smi-based math floor.
verwaest@chromium.org [Fri, 9 Aug 2013 11:21:03 +0000 (11:21 +0000)]
Fix smi-based math floor.

BUG=chromium:270268
R=svenpanne@chromium.org

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

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

11 years agoFix -Wconversion warnings in external V8 headers.
bmeurer@chromium.org [Fri, 9 Aug 2013 10:33:08 +0000 (10:33 +0000)]
Fix -Wconversion warnings in external V8 headers.

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

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

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

11 years agoMove i18n collator code to runtime.
jochen@chromium.org [Fri, 9 Aug 2013 09:51:09 +0000 (09:51 +0000)]
Move i18n collator code to runtime.

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

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

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

11 years agoFix handle unsafety in Deoptimizer::MaterializeNextHeapObject.
mstarzinger@chromium.org [Fri, 9 Aug 2013 09:49:15 +0000 (09:49 +0000)]
Fix handle unsafety in Deoptimizer::MaterializeNextHeapObject.

R=yangguo@chromium.org

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

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

11 years agoopenbsd: fix platform build
bmeurer@chromium.org [Fri, 9 Aug 2013 09:07:46 +0000 (09:07 +0000)]
openbsd: fix platform build

R=bmeurer@chromium.org

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

Patch from Ben Noordhuis <info@bnoordhuis.nl>.

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

11 years agoAdd flag trap_on_stub_deopt. We want to be able to trap on hydrogen stub bailouts.
mvstanton@chromium.org [Fri, 9 Aug 2013 08:24:29 +0000 (08:24 +0000)]
Add flag trap_on_stub_deopt. We want to be able to trap on hydrogen stub bailouts.

BUG=
R=svenpanne@chromium.org, verwaest@chromium.org

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

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

11 years agoInstance-type-related fixes and cleanup.
svenpanne@chromium.org [Fri, 9 Aug 2013 08:22:46 +0000 (08:22 +0000)]
Instance-type-related fixes and cleanup.

Things got quite a bit out of sync (don't we all love copy-n-paste?):

   * TypeToString didn't handle SLICED_STRING_TYPE,
     SLICED_ASCII_STRING_TYPE, FIXED_DOUBLE_ARRAY_TYPE,
     JS_FUNCTION_PROXY_TYPE and JS_DATE_TYPE.

   * INSTANCE_TYPE_LIST was missing entries for
     SLICED_ASCII_STRING_TYPE, JS_SET_TYPE, and JS_MAP_TYPE.

To improve this maintenance nightmare a little bit, the missing
instance types were added to the INSTANCE_TYPE_LIST macro and this
list is now used via our beloved 2nd order macro technique in
TypeToString. As a side-effect, the strings returned by TypeToString
have a "_TYPE" suffix now, but this doesn't really matter and is a
small price to pay for consistency.

Removed INVALID_TYPE on the way, it had no real use.

R=mstarzinger@chromium.org

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

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

11 years agoDeprecate self and total time getters and total sample count getter on CpuProfileNode
yurys@chromium.org [Fri, 9 Aug 2013 07:38:26 +0000 (07:38 +0000)]
Deprecate self and total time getters and total sample count getter on CpuProfileNode

All of these values are derived from the self samples count and there is no need to evaluate them in v8 when clients can do that when needed on their side.

Also added unsigned GetHitCount() which should be used instead of double GetSelfSamplesCount(). I'm going to deprecate the latter one once Blink has switched to GetHitCount.

BUG=267595
TBR=svenpanne@chromium.org

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

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

11 years agoMIPS: Patch to enhance the source code line information for profiler.
palfia@homejinni.com [Thu, 8 Aug 2013 18:36:25 +0000 (18:36 +0000)]
MIPS: Patch to enhance the source code line information for profiler.

Port r16114 (2d1bf399)

Original commit message:
This patch is to enhance the source code line information for profiler.

For the Hydrogen compilation, most of the source code line information
is not copied from the HInstruction the to corresponding LInstruction.

This patch defines one PositionBits field for LInstruction and copies the
sorce code position value from the HInstruction.

When Generating the native code, we use RecordPosition(..) function to
write LInstruction's position value to position recorder.

BUG=

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

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

11 years agoRevert "Deprecate self and total time getters and total sample count getter on CpuPro...
yurys@chromium.org [Thu, 8 Aug 2013 14:43:44 +0000 (14:43 +0000)]
Revert "Deprecate self and total time getters and total sample count getter on CpuProfileNode"

This reverts commit r16116 due to WebKit compilation breakage. Will reland it once Blink r155755 is rolled into Chromium.

TBR=svenpanne@chromium.org
BUG=None

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

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

11 years agoDeprecate self and total time getters and total sample count getter on CpuProfileNode
yurys@chromium.org [Thu, 8 Aug 2013 13:39:57 +0000 (13:39 +0000)]
Deprecate self and total time getters and total sample count getter on CpuProfileNode

All of these values are derived from the self samples count and there is no need to evaluate them in v8 when clients can do that when needed on their side.

Also added unsigned GetHitCount() which should be used instead of double GetSelfSamplesCount(). I'm going to deprecate the latter one once Blink has switched to GetHitCount.

BUG=267595
R=loislo@chromium.org, svenpanne@chromium.org

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

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

11 years agoMIPS: Optimize DoCheckMaps.
plind44@gmail.com [Thu, 8 Aug 2013 05:04:42 +0000 (05:04 +0000)]
MIPS: Optimize DoCheckMaps.

This simple change moves the Deoptimize call into the Deopt table
where it belongs, and shortens the inline map-check.

Gives a surprisingly large performance gain, around 4% on Octane.

BUG=
R=gergely@homejinni.com

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

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

11 years agoPatch to enhance the source code line information for profiler.
haitao.feng@intel.com [Thu, 8 Aug 2013 02:16:12 +0000 (02:16 +0000)]
Patch to enhance the source code line information for profiler.

This patch is to enhance the source code line information for profiler.

For the Hydrogen compilation, most of the source code line information
is not copied from the HInstruction the to corresponding LInstruction.

This patch defines one PositionBits field for LInstruction and copies the
sorce code position value from the HInstruction.

When Generating the native code, we use RecordPosition(..) function to
write LInstruction's position value to position recorder.

For the MIPS platform, I did not touch because I have no devices
to verify the modification on it.

R=danno@chromium.org

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

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

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

11 years agotweak of Math.abs in its x64 stub
haitao.feng@intel.com [Thu, 8 Aug 2013 01:29:33 +0000 (01:29 +0000)]
tweak of Math.abs in its x64 stub

R=jkummerow@chromium.org

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

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

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

11 years agoMIPS: Refactor and improve inlined double-aligned allocations
plind44@gmail.com [Wed, 7 Aug 2013 21:54:03 +0000 (21:54 +0000)]
MIPS: Refactor and improve inlined double-aligned allocations

Additionally, fix object size register clobbering in Allocate routine.

Based on 13284 (d42bf80).

BUG=
R=plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

11 years agoFix Object.freeze, Object.observe wrt CountOperation and CompoundAssignment.
verwaest@chromium.org [Wed, 7 Aug 2013 18:45:41 +0000 (18:45 +0000)]
Fix Object.freeze, Object.observe wrt CountOperation and CompoundAssignment.

BUG=2774,2779
R=adamk@chromium.org

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

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

11 years agoRevert "mod does not rely on a fixed register anymore, the arguments are passed via...
verwaest@chromium.org [Wed, 7 Aug 2013 17:22:17 +0000 (17:22 +0000)]
Revert "mod does not rely on a fixed register anymore, the arguments are passed via the stack."
Due to buildbot failures.

BUG=
R=danno@chromium.org

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

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

11 years agoSupport idle time in CPU profiler
yurys@chromium.org [Wed, 7 Aug 2013 17:04:27 +0000 (17:04 +0000)]
Support idle time in CPU profiler

This change provides an API for the embedder to tell CPU profiler if it is idle or busy with some task. This way we can discriminate between idle time and some native code execution.

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

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

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

11 years agomod does not rely on a fixed register anymore, the arguments are passed via the stack.
olivf@chromium.org [Wed, 7 Aug 2013 16:47:24 +0000 (16:47 +0000)]
mod does not rely on a fixed register anymore, the arguments are passed via the stack.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoMIPS: First implementation of allocation elimination in Hydrogen.
palfia@homejinni.com [Wed, 7 Aug 2013 16:34:20 +0000 (16:34 +0000)]
MIPS: First implementation of allocation elimination in Hydrogen.

Port r16098 (328ff5f7)

Original commit message:
This change implements a simple data-flow analysis pass over captured
objects to the existing escape analysis. It tracks the state of values
in the Hydrogen graph through CapturedObject marker instructions that
are used to construct an appropriate translation for the deoptimizer to
be able to materialize these objects again.

This can be considered a combination of scalar replacement of loads and
stores on captured objects and sinking of unused allocations.

TEST=mjsunit/compiler/escape-analysis

BUG=

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

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

11 years agoCheck for empty handle in JSON stringifier
jkummerow@chromium.org [Wed, 7 Aug 2013 16:34:13 +0000 (16:34 +0000)]
Check for empty handle in JSON stringifier

R=yangguo@chromium.org

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

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

11 years agoRemoved wrong ASSERTs on MIPS.
svenpanne@chromium.org [Wed, 7 Aug 2013 13:42:46 +0000 (13:42 +0000)]
Removed wrong ASSERTs on MIPS.

R=palfia@homejinni.com

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

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

11 years agoHandle Symbols in the LBranch instruction on x64.
svenpanne@chromium.org [Wed, 7 Aug 2013 13:33:41 +0000 (13:33 +0000)]
Handle Symbols in the LBranch instruction on x64.

This was an omission in https://code.google.com/p/v8/source/detail?r=14051.

R=rossberg@chromium.org

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

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

11 years agoFix step in positions (include various calls and exclude current pc point), add a...
prybin@chromium.org [Wed, 7 Aug 2013 12:27:22 +0000 (12:27 +0000)]
Fix step in positions (include various calls and exclude current pc point), add a test

R=yangguo@chromium.org

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

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

11 years agoMove i18n's number-format C++ code to runtime
jochen@chromium.org [Wed, 7 Aug 2013 12:14:50 +0000 (12:14 +0000)]
Move i18n's number-format C++ code to runtime

BUG=v8:2745
R=dcarney@chromium.org, mstarzinger@chromium.org

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

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

11 years agoFirst implementation of allocation elimination in Hydrogen.
mstarzinger@chromium.org [Wed, 7 Aug 2013 11:24:14 +0000 (11:24 +0000)]
First implementation of allocation elimination in Hydrogen.

This change implements a simple data-flow analysis pass over captured
objects to the existing escape analysis. It tracks the state of values
in the Hydrogen graph through CapturedObject marker instructions that
are used to construct an appropriate translation for the deoptimizer to
be able to materialize these objects again.

This can be considered a combination of scalar replacement of loads and
stores on captured objects and sinking of unused allocations.

R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis

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

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

11 years agoRe-reland "Flush parallel recompilation queues on context dispose notification"
yangguo@chromium.org [Wed, 7 Aug 2013 09:33:09 +0000 (09:33 +0000)]
Re-reland "Flush parallel recompilation queues on context dispose notification"

BUG=
R=hpayer@chromium.org, mstarzinger@chromium.org

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

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

11 years agoMake JSON::Parse return Local<Value>
yangguo@chromium.org [Wed, 7 Aug 2013 09:11:39 +0000 (09:11 +0000)]
Make JSON::Parse return Local<Value>

It should be able to return Smi, etc. Not only JSObject.

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

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

Patch from Takeshi Yoshino <tyoshino@chromium.org>.

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

11 years agoPrepare push to trunk. Now working on version 3.20.15.
dslomov@chromium.org [Wed, 7 Aug 2013 09:05:59 +0000 (09:05 +0000)]
Prepare push to trunk.  Now working on version 3.20.15.

R=danno@chromium.org

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

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

11 years agoAdd frame pointer markup to grokdump.
mstarzinger@chromium.org [Wed, 7 Aug 2013 08:57:25 +0000 (08:57 +0000)]
Add frame pointer markup to grokdump.

R=yangguo@chromium.org

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

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

11 years agoexpose eternal handle api
dcarney@chromium.org [Wed, 7 Aug 2013 08:26:23 +0000 (08:26 +0000)]
expose eternal handle api

R=svenpanne@chromium.org
BUG=

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

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

11 years agoPacify Win7 builders
jkummerow@chromium.org [Wed, 7 Aug 2013 08:25:44 +0000 (08:25 +0000)]
Pacify Win7 builders

R=svenpanne@chromium.org

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

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

11 years agoHandle external reference values properly in HConstant::ImmortalImmovable().
bmeurer@chromium.org [Wed, 7 Aug 2013 07:08:50 +0000 (07:08 +0000)]
Handle external reference values properly in HConstant::ImmortalImmovable().

R=danno@chromium.org

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

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

11 years agoMove i18n extension's date-format C++ code to runtime
jochen@chromium.org [Wed, 7 Aug 2013 03:40:44 +0000 (03:40 +0000)]
Move i18n extension's date-format C++ code to runtime

BUG=v8:2745
R=dcarney@chromium.org, mstarzinger@chromium.org

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

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

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