palfia@homejinni.com [Mon, 19 Aug 2013 16:02:50 +0000 (16:02 +0000)]
MIPS: Remove wrong restriction in GenerateDeoptJumpTable.
* This Abort condition does not apply to MIPS, since the
assembler can also emit long Branches automatically, when
it is needed.
TEST=mjsunit/math-floor-of-div,benchmarks/octane/gbemu,benchmarks/octane/mandreel
BUG=
Review URL: https://codereview.chromium.org/
23020018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 19 Aug 2013 14:46:35 +0000 (14:46 +0000)]
Add FINAL and OVERRIDE macros for C++11 final/override.
We also use new the constant naming scheme for Yield::Kind values to avoid
clash with the FINAL macro.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23098004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 19 Aug 2013 13:37:57 +0000 (13:37 +0000)]
ARM: Fix register misuse bug in Allocate().
The bug is triggered if flags contains DOUBLE_ALIGNMENT and the
object_size is not an ARM immediate value. In this case, the code
for DOUBLE_ALIGNMENT uses the scratch2 register, which is aliased
to obj_size_reg containing the object_size.
Instead of pre-loading the object_size, which is difficult since
we are out of registers here, we simply generate a non-empty
sequence of add instructions for the addition of the constant
object_size (carefully handling possible overflow in each step).
Also turn static ASSERT into STATIC_ASSERT in Allocate().
BUG=v8:2851
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23323002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 19 Aug 2013 13:03:58 +0000 (13:03 +0000)]
Prevent empty handle dereference in Runtime_InternalNumberFormat.
R=jochen@chromium.org
BUG=chromium:275467
Review URL: https://codereview.chromium.org/
22859025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 19 Aug 2013 12:32:50 +0000 (12:32 +0000)]
Improve generalization / migration tracing.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23047002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 19 Aug 2013 11:10:08 +0000 (11:10 +0000)]
Temporary workaround for GC stress builder.
R=hpayer@chromium.org, hpayer@google.com
TEST=cctest/test-debug/ScriptCollectedEventContext --gc-interval=500
Review URL: https://codereview.chromium.org/
22987004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16216
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 19 Aug 2013 10:55:51 +0000 (10:55 +0000)]
Clarify side effects of HTransitionElementsKind.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
22796011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 19 Aug 2013 09:34:18 +0000 (09:34 +0000)]
Prepare push to trunk. Now working on version 3.21.1.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
22856005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 19 Aug 2013 07:25:25 +0000 (07:25 +0000)]
Drop broken and unnecessary RequiredInputRepresentation() in HMathFloorOfDiv.
R=titzer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=16190
Review URL: https://codereview.chromium.org/
23190002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 16 Aug 2013 21:27:11 +0000 (21:27 +0000)]
Handlify Accessors::FunctionSetPrototype method.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
23280004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16210
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 16 Aug 2013 19:52:29 +0000 (19:52 +0000)]
Remove check for empty handle for CodeGenerator::MakeCodeEpilogue.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
22840002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 16 Aug 2013 15:43:42 +0000 (15:43 +0000)]
Store copied value rather than the original double.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23262002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 16 Aug 2013 15:10:07 +0000 (15:10 +0000)]
Mark HStringCompareAndBranch as potentially causing GCs.
This also adds a %SetAllocationTimout runtime function which helps to
write regression tests that need to trigger a GC at a certain point in
program execution.
R=hpayer@chromium.org
BUG=chromium:274438
TEST=mjsunit/regress/regress-crbug-274438
Review URL: https://codereview.chromium.org/
22933006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16205
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 16 Aug 2013 14:10:08 +0000 (14:10 +0000)]
Revert "make Intl non-enumerable"
This reverts commit
327355efe28995f5d91aadb54c71ea1d292c8428.
TBR=svenpanne@chromium.org,dcarney@chromium.org
Review URL: https://codereview.chromium.org/
22893026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 16 Aug 2013 11:29:54 +0000 (11:29 +0000)]
Fix bug in test-code-stubs-x64 which meant not all registers were being checked.
Also change test-code-stubs-ia32 to use the same style as x64.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
22865006
Patch from Ross McIlroy <mcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 14 Aug 2013 23:07:48 +0000 (23:07 +0000)]
MIPS: Never hchange nan-hole to hole or hole to nan-hole. Only allow changing hole to nan if all uses allow undefined as nan.
Port r16183 (
1858bc57)
BUG=
Review URL: https://codereview.chromium.org/
23130006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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