platform/upstream/v8.git
10 years agoRevert 17877 - Introduce a v8::Platform class that bundles embedder callbacks
jochen@chromium.org [Tue, 19 Nov 2013 14:28:07 +0000 (14:28 +0000)]
Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks

This also reverts 17879 and 17880.

BUG=v8:3015
TBR=svenpanne@chromium.org
LOG=n

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

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

10 years agoRemove faulty CHECK() statement.
jochen@chromium.org [Tue, 19 Nov 2013 14:15:12 +0000 (14:15 +0000)]
Remove faulty CHECK() statement.

TBR=svenpanne@chromium.org
BUG=none
LOG=n

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

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

10 years agoFix typo in header guard of v8-platform.h
jochen@chromium.org [Tue, 19 Nov 2013 14:00:45 +0000 (14:00 +0000)]
Fix typo in header guard of v8-platform.h

TBR=svenpanne@chromium.org
BUG=none
LOG=n

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

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

10 years agoFix push-to-trunk runtime call.
machenbach@chromium.org [Tue, 19 Nov 2013 13:44:51 +0000 (13:44 +0000)]
Fix push-to-trunk runtime call.

This broke after a recent refactoring.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoIntroduce a v8::Platform class that bundles embedder callbacks
jochen@chromium.org [Tue, 19 Nov 2013 13:44:36 +0000 (13:44 +0000)]
Introduce a v8::Platform class that bundles embedder callbacks

Also provide a default implementation to use in cctests.

For now, there are just two thread releated callbacks. In future CLs, I will
move callbacks registered e.g. via V8::SetFooCallback over.

BUG=v8:3015
R=svenpanne@chromium.org, danno@chromium.org
LOG=no

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

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

10 years agoMove template instance check from Object to FunctionTemplateInfo::IsTemplateFor
verwaest@chromium.org [Tue, 19 Nov 2013 13:38:15 +0000 (13:38 +0000)]
Move template instance check from Object to FunctionTemplateInfo::IsTemplateFor

BUG=
R=dcarney@chromium.org

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

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

10 years agoFix debugger wrt concurrent recompilation flag.
yangguo@chromium.org [Tue, 19 Nov 2013 13:19:51 +0000 (13:19 +0000)]
Fix debugger wrt concurrent recompilation flag.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoAdd a proper way to pass the number of processors to V8
jochen@chromium.org [Tue, 19 Nov 2013 13:08:37 +0000 (13:08 +0000)]
Add a proper way to pass the number of processors to V8

BUG=321060
LOG=n
R=svenpanne@chromium.org

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

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

10 years agoFix register trashing in Emit*ByteSeqStringSetChar
jkummerow@chromium.org [Tue, 19 Nov 2013 12:59:09 +0000 (12:59 +0000)]
Fix register trashing in Emit*ByteSeqStringSetChar

This is currently not observable without --allow-natives-syntax because all internal usages are safe, but it deserves to be fixed nonetheless.

BUG=chromium:320922
LOG=N
R=yangguo@chromium.org

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

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

10 years agoDeprecate v8::External::New without Isolate parameter
jochen@chromium.org [Tue, 19 Nov 2013 12:20:08 +0000 (12:20 +0000)]
Deprecate v8::External::New without Isolate parameter

R=bmeurer@chromium.org, machenbach@chromium.org, svenpanne@chromium.org
LOG=y
BUG=none

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

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

10 years agoFix compilation.
yangguo@chromium.org [Tue, 19 Nov 2013 12:14:22 +0000 (12:14 +0000)]
Fix compilation.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoRemove unused StubType's, freeing 2 bits in Code objects.
bmeurer@chromium.org [Tue, 19 Nov 2013 12:04:54 +0000 (12:04 +0000)]
Remove unused StubType's, freeing 2 bits in Code objects.

R=verwaest@chromium.org

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

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

10 years agoMake number of available threads isolate-dependent and expose it to ResourceConstraints.
yangguo@chromium.org [Tue, 19 Nov 2013 11:52:47 +0000 (11:52 +0000)]
Make number of available threads isolate-dependent and expose it to ResourceConstraints.

R=svenpanne@chromium.org
BUG=v8:2991
LOG=Y

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

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

10 years agoProperly initialize desc->origin in the ARM assembler.
bmeurer@chromium.org [Tue, 19 Nov 2013 11:52:38 +0000 (11:52 +0000)]
Properly initialize desc->origin in the ARM assembler.

R=svenpanne@chromium.org

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

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

10 years agoConstant-folding through HForceRepresentation fix.
ishell@chromium.org [Tue, 19 Nov 2013 11:41:04 +0000 (11:41 +0000)]
Constant-folding through HForceRepresentation fix.

Reverts changes in HValue::IsInteger32Constant() made in https://code.google.com/p/v8/source/detail?r=17787

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

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.8.
machenbach@chromium.org [Tue, 19 Nov 2013 11:04:54 +0000 (11:04 +0000)]
Prepare push to trunk.  Now working on version 3.23.8.

R=danno@chromium.org
BUG=

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

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

10 years agoBugfix: dependent code field in AllocationSite was keeping code objects alive even...
mvstanton@chromium.org [Tue, 19 Nov 2013 10:17:33 +0000 (10:17 +0000)]
Bugfix: dependent code field in AllocationSite was keeping code objects alive even after context death.

BUG=320532
LOG=Y
R=ulan@chromium.org

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

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

10 years agoARM: use vstm/vldm when possible.
bmeurer@chromium.org [Tue, 19 Nov 2013 06:39:36 +0000 (06:39 +0000)]
ARM: use vstm/vldm when possible.

R=bmeurer@chromium.org

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

Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

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

10 years agoMIPS: Convert PatchCache (and related methods) to use types rather than objects/maps.
palfia@homejinni.com [Tue, 19 Nov 2013 02:26:42 +0000 (02:26 +0000)]
MIPS: Convert PatchCache (and related methods) to use types rather than objects/maps.

Port r17847 (67c371a4)

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Make HTypeofIsAndBranch accept any representation input
palfia@homejinni.com [Tue, 19 Nov 2013 02:26:10 +0000 (02:26 +0000)]
MIPS: Make HTypeofIsAndBranch accept any representation input

Port r17834 (cf97fcb6)

Original commit message:
Make HTypeofIsAndBranch accept any representation input
when the input is known unbox number value, eliminate the dynamic check

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Match max property descriptor length to corresponding bit fields.
plind44@gmail.com [Mon, 18 Nov 2013 20:51:30 +0000 (20:51 +0000)]
MIPS: Match max property descriptor length to corresponding bit fields.

Port r17823 (b1b8ae0)

BUG=v8:3010
LOG=N
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoReapply r11765
vegorov@chromium.org [Mon, 18 Nov 2013 17:24:00 +0000 (17:24 +0000)]
Reapply r11765

Add static_cast<int> in HPositionInfo::position to please Win64 build.

Improvements in positions handling in optimizing compiler.

- When building binary arithmetic op and comparison restore source position of the operation itself before building operation itself after it was changed by building operands. This ensures that position recorded for operation points to the operation token instead of pointing to the rightmost operand;

- Add support for recording operands' positions and use these positions when inserting HChange instructions;

- When generating hydrogen.cfg emit H-instruction position as BCI (previously 0 was emitted), additionally on every lithium instruction emit annotation pointing to corresponding hydrogen-instruction. This allows to easily reach from deopt_id to lithium instruction and from it to hydrogen instruction and source position.

R=danno@chromium.org

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

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

10 years agoConvert PatchCache (and related methods) to use types rather than objects/maps.
verwaest@chromium.org [Mon, 18 Nov 2013 17:18:14 +0000 (17:18 +0000)]
Convert PatchCache (and related methods) to use types rather than objects/maps.

R=rossberg@chromium.org

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

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

10 years agoFix build on arm/x64 after r17840.
dslomov@chromium.org [Mon, 18 Nov 2013 15:27:14 +0000 (15:27 +0000)]
Fix build on arm/x64 after r17840.

TBR=jkummerow@chromium.org
BUG=v8:3013
LOG=N

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

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

10 years agoIntroduce addps/subps/mulps/divps for IA32/X64
svenpanne@chromium.org [Mon, 18 Nov 2013 15:24:41 +0000 (15:24 +0000)]
Introduce addps/subps/mulps/divps for IA32/X64

BUG=
R=svenpanne@chromium.org

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

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

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

10 years agoFix data view accessors to throw execptions on offsets bigger than size_t.
dslomov@chromium.org [Mon, 18 Nov 2013 15:16:22 +0000 (15:16 +0000)]
Fix data view accessors to throw execptions on offsets bigger than size_t.

R=jkummerow@chromium.org
BUG=v8:3013
LOG=Y

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

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

10 years agoRevert "Fix data view accessors to throw execptions on offsets bigger than size_t."
dslomov@chromium.org [Mon, 18 Nov 2013 15:05:05 +0000 (15:05 +0000)]
Revert "Fix data view accessors to throw execptions on offsets bigger than size_t."

This reverts commit r17838 for breaking arm build.

TBR=jkummerow@chromium.org

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

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

10 years agoFix data view accessors to throw execptions on offsets bigger than size_t.
dslomov@chromium.org [Mon, 18 Nov 2013 14:58:16 +0000 (14:58 +0000)]
Fix data view accessors to throw execptions on offsets bigger than size_t.

R=jkummerow@chromium.org
BUG=v8:3013
LOG=Y

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

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

10 years agoUse mock ArrayBuffer allocator to avoid really allocating 1Gb.
dslomov@chromium.org [Mon, 18 Nov 2013 14:50:45 +0000 (14:50 +0000)]
Use mock ArrayBuffer allocator to avoid really allocating 1Gb.

R=jkummerow@chromium.org
BUG=v8:3014
LOG=N

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

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

10 years agoFix broken pipe caused by commands in toolchain.gypi.
jkummerow@chromium.org [Mon, 18 Nov 2013 14:32:30 +0000 (14:32 +0000)]
Fix broken pipe caused by commands in toolchain.gypi.

I sometimes observe broken pipe errors when I run gyp, which causes the gyp
process to fail. This seems to happen if gyp is executed under heavy I/O
pressure.

This change removes the pipes by replacing "echo |" with "< /dev/null".
Technically these are not the same, because "echo |" prints a newline while
"< /dev/null" doesn't, but this difference is not significant in the context of
the commands in toolchain.gypi.

BUG=
R=jkummerow@chromium.org

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

Patch from Yuta Kitamura <yutak@chromium.org>.

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

10 years agoMake HTypeofIsAndBranch accept any representation input
jkummerow@chromium.org [Mon, 18 Nov 2013 14:17:33 +0000 (14:17 +0000)]
Make HTypeofIsAndBranch accept any representation input

when the input is known unbox number value, eliminate the dynamic check

BUG=
R=jkummerow@chromium.org

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

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

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

10 years agoAdd initial auto-roll script.
machenbach@chromium.org [Mon, 18 Nov 2013 14:10:47 +0000 (14:10 +0000)]
Add initial auto-roll script.

To be called with a cron job.

TEST=tools/push-to-trunk/auto_roll.py

TODO: Add a revision filter to allow "MIPS" related changes to take over the lkgr.

R=jkummerow@chromium.org

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

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

10 years agoEnsure that ToPositiveInteger is optimizable.
dslomov@chromium.org [Mon, 18 Nov 2013 14:07:24 +0000 (14:07 +0000)]
Ensure that ToPositiveInteger is optimizable.

'throw %NAME(..)' cause hydrogen optimizations to be disabled for
surrounding function. This patch rectifies.

R=yangguo@chromium.org

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

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

10 years agoGenerate DataViewInitialize built-in in hydrogen.
dslomov@chromium.org [Mon, 18 Nov 2013 13:57:49 +0000 (13:57 +0000)]
Generate DataViewInitialize built-in in hydrogen.

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

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

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

10 years agoRefactor ChangeLog generation for push-to-trunk script.
machenbach@chromium.org [Mon, 18 Nov 2013 13:34:32 +0000 (13:34 +0000)]
Refactor ChangeLog generation for push-to-trunk script.

This extracts the Git-independent part of the change log body generation. This CL intends no change in behavior.

R=jkummerow@chromium.org

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

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

10 years agoRemove keyed load "force generic" miss case.
verwaest@chromium.org [Mon, 18 Nov 2013 13:07:44 +0000 (13:07 +0000)]
Remove keyed load "force generic" miss case.
BUG=
R=ishell@chromium.org

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

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

10 years agoRemove unused keyed store "force generic".
verwaest@chromium.org [Mon, 18 Nov 2013 13:04:48 +0000 (13:04 +0000)]
Remove unused keyed store "force generic".

R=ishell@chromium.org

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

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

10 years agoMatch max property descriptor length to corresponding bit fields
danno@chromium.org [Mon, 18 Nov 2013 11:44:06 +0000 (11:44 +0000)]
Match max property descriptor length to corresponding bit fields

BUG=v8:3010
R=verwaest@chromium.org
LOG=N

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.7.
machenbach@chromium.org [Mon, 18 Nov 2013 08:51:22 +0000 (08:51 +0000)]
Prepare push to trunk.  Now working on version 3.23.7.

R=jkummerow@chromium.org
BUG=

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

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

10 years ago[Sheriff] Revert "MIPS: Ensure double aligned allocations through runtime routines."
machenbach@chromium.org [Sun, 17 Nov 2013 20:53:11 +0000 (20:53 +0000)]
[Sheriff] Revert "MIPS: Ensure double aligned allocations through runtime routines."

This reverts commit r17809 for breaking the build.

TBR=plind44@gmail.com,
BUG=

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

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

10 years agoMIPS: Ensure double aligned allocations through runtime routines.
plind44@gmail.com [Sun, 17 Nov 2013 17:23:58 +0000 (17:23 +0000)]
MIPS: Ensure double aligned allocations through runtime routines.

3rd (of 3) CLs to ensure complete alignment of FixedDoubleArrays.

TEST=
BUG=
R=mstarzinger@chromium.org, plind44@gmail.com

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

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

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

10 years agoCorrect r17804 to match latest version of uploaded CL
danno@chromium.org [Sat, 16 Nov 2013 15:22:09 +0000 (15:22 +0000)]
Correct r17804 to match latest version of uploaded CL

TBR=mvstanton@chromium.org

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

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

10 years agoMIPS: Generate KeyedLoadDictionaryElementStub with Hydrogen
palfia@homejinni.com [Fri, 15 Nov 2013 21:12:51 +0000 (21:12 +0000)]
MIPS: Generate KeyedLoadDictionaryElementStub with Hydrogen

Port r17804 (15aa3804)

BUG=
R=plind44@gmail.com

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

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

10 years agoFix bogus allocation limit in allocation folding.
mstarzinger@chromium.org [Fri, 15 Nov 2013 18:44:59 +0000 (18:44 +0000)]
Fix bogus allocation limit in allocation folding.

R=ishell@chromium.org
TEST=mjsunit/allocation-folding

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

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

10 years agoGenerate KeyedLoadDictionaryElementStub with Hydrogen
danno@chromium.org [Fri, 15 Nov 2013 17:53:35 +0000 (17:53 +0000)]
Generate KeyedLoadDictionaryElementStub with Hydrogen

R=mvstanton@chromium.org

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

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

10 years agoAdd suppressions for regress-319722-ArrayBuffer.
dslomov@chromium.org [Fri, 15 Nov 2013 17:40:21 +0000 (17:40 +0000)]
Add suppressions for regress-319722-ArrayBuffer.

TBR=jkummerow@chromium.org

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

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

10 years agoMIPS: Reland and fix "Add support for keyed-call on arrays of fast elements”.
plind44@gmail.com [Fri, 15 Nov 2013 17:34:34 +0000 (17:34 +0000)]
MIPS: Reland and fix "Add support for keyed-call on arrays of fast elements”.

Port r17782 (32e3232)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoLimit size of dehoistable array indices
jkummerow@chromium.org [Fri, 15 Nov 2013 17:24:10 +0000 (17:24 +0000)]
Limit size of dehoistable array indices

LOG=Y
BUG=chromium:319835,chromium:319860
R=dslomov@chromium.org

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

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

10 years agoLimit the size for typed arrays to MaxSmi.
dslomov@chromium.org [Fri, 15 Nov 2013 16:37:15 +0000 (16:37 +0000)]
Limit the size for typed arrays to MaxSmi.

R=jkummerow@chromium.org
LOG=Y
BUG=319722

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

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

10 years agoRevert "Limit the size for typed arrays to MaxSmi."
dslomov@chromium.org [Fri, 15 Nov 2013 16:25:51 +0000 (16:25 +0000)]
Revert "Limit the size for typed arrays to MaxSmi."

This reverts commit r17798 for allocating too much memroy in tests.

TBR=jkummerow@chromium.org

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

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

10 years agoLimit the size for typed arrays to MaxSmi.
dslomov@chromium.org [Fri, 15 Nov 2013 16:09:56 +0000 (16:09 +0000)]
Limit the size for typed arrays to MaxSmi.

R=jkummerow@chromium.org
LOG=Y
BUG=319722

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

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

10 years agoProvide Type::Of and Type::CurrentOf operators
rossberg@chromium.org [Fri, 15 Nov 2013 15:14:09 +0000 (15:14 +0000)]
Provide Type::Of and Type::CurrentOf operators

R=verwaest@chromium.org
BUG=

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

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

10 years agoAdd allocation tracker test for bumb pointer allocations
yurys@chromium.org [Fri, 15 Nov 2013 14:47:11 +0000 (14:47 +0000)]
Add allocation tracker test for bumb pointer allocations

Test that allocations which regularly happen inline in the generated code and create objects in bump pointer space will be recorded by the allocation tracker.

BUG=chromium:277984
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org

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

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

10 years agoAllow passing flags to Runtime_AllocateInTargetSpace.
mstarzinger@chromium.org [Fri, 15 Nov 2013 13:49:41 +0000 (13:49 +0000)]
Allow passing flags to Runtime_AllocateInTargetSpace.

R=ulan@chromium.org

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

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

10 years agoMake some internal Heap helpers private.
mstarzinger@chromium.org [Fri, 15 Nov 2013 13:31:13 +0000 (13:31 +0000)]
Make some internal Heap helpers private.

R=ulan@chromium.org

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

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

10 years agoARM: Merge redundant entries in literal pool.
bmeurer@chromium.org [Fri, 15 Nov 2013 12:24:10 +0000 (12:24 +0000)]
ARM: Merge redundant entries in literal pool.

This patch also clean up 64-bits literals handling.

R=bmeurer@chromium.org

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

Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

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

10 years agoRegression fix: HForceRepresentation shouldn't be an idef.
mvstanton@chromium.org [Fri, 15 Nov 2013 12:10:59 +0000 (12:10 +0000)]
Regression fix: HForceRepresentation shouldn't be an idef.

Instead, code sites that are interested in underlying constant integer values
should use HValue::IsInteger32Constant(). The issue is that the infer representation phase shouldn't "see through" HForceRepresentation nodes to an underlying, and less specific representation.

R=mstarzinger@chromium.org

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

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

10 years agoReland and fix "Add support for keyed-call on arrays of fast elements"
verwaest@chromium.org [Fri, 15 Nov 2013 10:52:05 +0000 (10:52 +0000)]
Reland and fix "Add support for keyed-call on arrays of fast elements"

BUG=
R=danno@chromium.org

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

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

10 years agoAdd ability to do "else-if" clauses in IfBuilder
danno@chromium.org [Fri, 15 Nov 2013 10:36:02 +0000 (10:36 +0000)]
Add ability to do "else-if" clauses in IfBuilder

- In an Else block it's possible to add more If<>'s in the same builder that are
  treated as an else if.
- Simplified and cleaned-up some of the IfBuilder's internals.

R=mstarzinger@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.6.
machenbach@chromium.org [Fri, 15 Nov 2013 10:32:18 +0000 (10:32 +0000)]
Prepare push to trunk.  Now working on version 3.23.6.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoReplace miss_mode flag with explicit Load/Store Force Generic methods.
verwaest@chromium.org [Fri, 15 Nov 2013 09:34:44 +0000 (09:34 +0000)]
Replace miss_mode flag with explicit Load/Store Force Generic methods.

R=ishell@chromium.org

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

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

10 years agoUse path relatinve to cctest folder in cctest.status
yurys@chromium.org [Fri, 15 Nov 2013 09:28:40 +0000 (09:28 +0000)]
Use path relatinve to cctest folder in cctest.status

BUG=v8:3005
LOG=N
TBR=machenbach@chromium.org

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

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

10 years agoFix missing type feedback check for Generic*String addition.
bmeurer@chromium.org [Fri, 15 Nov 2013 09:13:36 +0000 (09:13 +0000)]
Fix missing type feedback check for Generic*String addition.

TEST=mjsunit/regress/regress-crbug-318671
BUG=318671
LOG=y
R=svenpanne@chromium.org

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

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

10 years agoMark cctest/test-alloc/CodeRange as flaky on Windows
yurys@chromium.org [Fri, 15 Nov 2013 09:10:44 +0000 (09:10 +0000)]
Mark cctest/test-alloc/CodeRange as flaky on Windows

BUG=v8:3005
LOG=N
R=machenbach@chromium.org

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

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

10 years agoReland [Object.observe] Don't force normalization of elements for observed objects
rafaelw@chromium.org [Thu, 14 Nov 2013 21:47:39 +0000 (21:47 +0000)]
Reland [Object.observe] Don't force normalization of elements for observed objects

Original Issue: https://codereview.chromium.org/29353003/

Note that this version of the patch includes logic for bailing out of compiled ArrayPush/ArrayPop calls if the array is observed (see stub-cache-*)

R=danno@chromium.org
BUG=v8:2946
LOG=N

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

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

10 years agoRevert "Improvements in positions handling in optimizing compiler." (r17765)
rafaelw@chromium.org [Thu, 14 Nov 2013 21:45:01 +0000 (21:45 +0000)]
Revert "Improvements in positions handling in optimizing compiler." (r17765)

Original issue: https://codereview.chromium.org/49203002/

TBR=vegorov

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

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

10 years agoMIPS: Also support smi in load-ICs.
plind44@gmail.com [Thu, 14 Nov 2013 21:12:22 +0000 (21:12 +0000)]
MIPS: Also support smi in load-ICs.

Port r17756 (12e5896)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoImprovements in positions handling in optimizing compiler.
vegorov@chromium.org [Thu, 14 Nov 2013 21:00:27 +0000 (21:00 +0000)]
Improvements in positions handling in optimizing compiler.

- When building binary arithmetic op and comparison restore source position of the operation itself before building operation itself after it was changed by building operands. This ensures that position recorded for operation points to the operation token instead of pointing to the rightmost operand;

- Add support for recording operands' positions and use these positions when inserting HChange instructions;

- When generating hydrogen.cfg emit H-instruction position as BCI (previously 0 was emitted), additionally on every lithium instruction emit annotation pointing to corresponding hydrogen-instruction. This allows to easily reach from deopt_id to lithium instruction and from it to hydrogen instruction and source position.

BUG=
R=danno@chromium.org

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

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

10 years agoFix GCMole warning
rafaelw@chromium.org [Thu, 14 Nov 2013 20:51:18 +0000 (20:51 +0000)]
Fix GCMole warning

R=adamk@chromium.org
TBR=mstarzinger@chromium.org
LOG=N

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

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

10 years agoMIPS: Handle all object types (minus smi) in load/store ICs.
plind44@gmail.com [Thu, 14 Nov 2013 20:35:12 +0000 (20:35 +0000)]
MIPS: Handle all object types (minus smi) in load/store ICs.

Port r17755 (bfef904)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoMIPS: Remove unused LoadNumber* from macro assembler.
plind44@gmail.com [Thu, 14 Nov 2013 18:48:54 +0000 (18:48 +0000)]
MIPS: Remove unused LoadNumber* from macro assembler.

Port r17748 (595bed6)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoMIPS: Inline zero argument array constructor.
plind44@gmail.com [Thu, 14 Nov 2013 18:44:05 +0000 (18:44 +0000)]
MIPS: Inline zero argument array constructor.

Port r17741 (fe14ef8)

Original commit message:
patch from issue 54583003 (dependent code).

Zero arguments - very easy

1 argument - three special cases:
a) If length is a constant in valid array length range,
no need to check it at runtime.
b) respect DoNotInline feedback on the AllocationSite for
cases that the argument is not a smi or is an integer
with a length that should create a dictionary.
c) if kind feedback is non-holey, and length is non-constant,
we'd have to generate a lot of code to be correct.
Don't inline this case.

N arguments - one special case:
a) If a deopt ever occurs because an input argument isn't
compatible with the elements kind, then set the
DoNotInline flag.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoHandlify JSObject::SetElement & brethren
rafaelw@chromium.org [Thu, 14 Nov 2013 17:30:48 +0000 (17:30 +0000)]
Handlify JSObject::SetElement & brethren

Because SetElement & co are interdependent, this patch handlfies all of JSObject::
-SetElement
-SetFastElement
-SetDictionaryElement
-SetFastDoubleElement
-SetElementWithInterceptor
-SetElementWithoutInterceptor
-SetElementWithCallbackSetterInPrototype

R=mstarzinger@chromium.org
LOG=N

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

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

10 years agoAlso support smi in load-ICs.
verwaest@chromium.org [Thu, 14 Nov 2013 16:37:36 +0000 (16:37 +0000)]
Also support smi in load-ICs.

BUG=
R=ulan@chromium.org

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

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

10 years agoHandle all object types (minus smi) in load/store ICs
verwaest@chromium.org [Thu, 14 Nov 2013 16:25:31 +0000 (16:25 +0000)]
Handle all object types (minus smi) in load/store ICs

R=ulan@chromium.org

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

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

10 years agoRemove obsolete distance switch in SubStringStub::Generate.
mstarzinger@chromium.org [Thu, 14 Nov 2013 16:03:55 +0000 (16:03 +0000)]
Remove obsolete distance switch in SubStringStub::Generate.

R=ulan@chromium.org

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

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

10 years agoDo not update survival rate if the new space size is zero.
ulan@chromium.org [Thu, 14 Nov 2013 15:25:21 +0000 (15:25 +0000)]
Do not update survival rate if the new space size is zero.

BUG=v8:2333
LOG=N
R=hpayer@chromium.org

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

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

10 years agoAdd ability to disable inline bump-pointer allocation.
mstarzinger@chromium.org [Thu, 14 Nov 2013 15:14:37 +0000 (15:14 +0000)]
Add ability to disable inline bump-pointer allocation.

R=ulan@chromium.org, yurys@chromium.org
TEST=cctest/test-heap/DisableInlineAllocation

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

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

10 years ago[Sheriff] Revert "Add support for keyed-call on arrays of fast elements"
machenbach@chromium.org [Thu, 14 Nov 2013 15:00:13 +0000 (15:00 +0000)]
[Sheriff] Revert "Add support for keyed-call on arrays of fast elements"

This reverts commit r17746 for breaking layout tests.

TBR=verwaest@chromium.org
BUG=

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

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

10 years agoFixed blocking dcommit in push-to-trunk script.
machenbach@chromium.org [Thu, 14 Nov 2013 14:50:17 +0000 (14:50 +0000)]
Fixed blocking dcommit in push-to-trunk script.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoAdd ChangeLog presubmit check.
machenbach@chromium.org [Thu, 14 Nov 2013 14:49:07 +0000 (14:49 +0000)]
Add ChangeLog presubmit check.

LOG=
BUG=
R=jkummerow@chromium.org

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

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

10 years agoRemove unused LoadNumber* from ARM macro assembler.
yangguo@chromium.org [Thu, 14 Nov 2013 14:15:52 +0000 (14:15 +0000)]
Remove unused LoadNumber* from ARM macro assembler.

R=ulan@chromium.org
BUG=

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

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

10 years agoFix duplicate check in DependentCode::Insert.
yangguo@chromium.org [Thu, 14 Nov 2013 14:14:11 +0000 (14:14 +0000)]
Fix duplicate check in DependentCode::Insert.

R=ulan@chromium.org
BUG=318454

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

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

10 years agoAdd support for keyed-call on arrays of fast elements
verwaest@chromium.org [Thu, 14 Nov 2013 13:46:18 +0000 (13:46 +0000)]
Add support for keyed-call on arrays of fast elements

R=danno@chromium.org

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

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

10 years agoThis is the exact copy of r17365 which was reverted in r17488 due to memory corruptio...
yurys@chromium.org [Thu, 14 Nov 2013 12:13:26 +0000 (12:13 +0000)]
This is the exact copy of r17365 which was reverted in r17488 due to memory corruption. The root cause for the memory corruption - missing check for bump pointer limit before storing filler map must be addressed in r17626 where allocation hooks were removed from the generated code and left only in the runtime.

This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.

BUG=chromium:277984,v8:2949
R=bmeurer@chromium.org

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

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

10 years agoInline zero argument array constructor.
mvstanton@chromium.org [Thu, 14 Nov 2013 12:05:09 +0000 (12:05 +0000)]
Inline zero argument array constructor.
patch from issue 54583003 (dependent code).

Zero arguments - very easy

1 argument - three special cases:
  a) If length is a constant in valid array length range,
     no need to check it at runtime.
  b) respect DoNotInline feedback on the AllocationSite for
     cases that the argument is not a smi or is an integer
     with a length that should create a dictionary.
  c) if kind feedback is non-holey, and length is non-constant,
     we'd have to generate a lot of code to be correct.
     Don't inline this case.

N arguments - one special case:
  a) If a deopt ever occurs because an input argument isn't
     compatible with the elements kind, then set the
     DoNotInline flag.

BUG=
R=verwaest@chromium.org

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

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

10 years agoAvoid integer overflow in CopyMap.
verwaest@chromium.org [Thu, 14 Nov 2013 11:56:03 +0000 (11:56 +0000)]
Avoid integer overflow in CopyMap.

R=jkummerow@chromium.org

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

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

10 years agoRuntime CHECK for overflow in NewTypedArray.
dslomov@chromium.org [Thu, 14 Nov 2013 11:52:24 +0000 (11:52 +0000)]
Runtime CHECK for overflow in NewTypedArray.

R=ulan@chromium.org

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

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

10 years agoReland "Harden NumberToSize against overflows."
dslomov@chromium.org [Thu, 14 Nov 2013 11:40:32 +0000 (11:40 +0000)]
Reland "Harden NumberToSize against overflows."

The callers to NumberToSize are supposed to validate the number, but
this adds a last line of defense.

TBR=jkummerow@chromium.org, ulan@chromium.org

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

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

10 years agoDeprecate v8::Locker::{Start,Stop}Preemption
jochen@chromium.org [Thu, 14 Nov 2013 11:37:32 +0000 (11:37 +0000)]
Deprecate v8::Locker::{Start,Stop}Preemption

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

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

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

10 years agoRevert "Harden NumberToSize against overflows."
dslomov@chromium.org [Thu, 14 Nov 2013 11:19:30 +0000 (11:19 +0000)]
Revert "Harden NumberToSize against overflows."

This reverts commit r17733 for breaking Linux build.

TBR=jkummerow@chromium.org
BUG=

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

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

10 years agoHarden NumberToSize against overflows.
dslomov@chromium.org [Thu, 14 Nov 2013 11:14:06 +0000 (11:14 +0000)]
Harden NumberToSize against overflows.

The callers to NumberToSize are supposed to validate the number, but
this adds a last line of defense.

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

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.5.
machenbach@chromium.org [Thu, 14 Nov 2013 10:54:36 +0000 (10:54 +0000)]
Prepare push to trunk.  Now working on version 3.23.5.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoMagic fix for Math.sin/cos.
yangguo@chromium.org [Thu, 14 Nov 2013 10:11:06 +0000 (10:11 +0000)]
Magic fix for Math.sin/cos.

It turns out that Sunspider 1.0's 3d-morph verifies that the floating
point error must start with 6.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoFix overflow in TypedArray initialization function
danno@chromium.org [Thu, 14 Nov 2013 06:20:48 +0000 (06:20 +0000)]
Fix overflow in TypedArray initialization function

BUG=chromium:319120
TEST=test/mjsunit/regress/regress-319120.js
R=jkummerow@chromium.org

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

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

10 years agoMIPS: Simplify behavior of code stubs that accept a variable number of stack argument...
plind44@gmail.com [Wed, 13 Nov 2013 18:23:42 +0000 (18:23 +0000)]
MIPS: Simplify behavior of code stubs that accept a variable number of stack arguments in addition to their parameters.

Port r17680 (cc0b972)

Original commit message:
Before, we'd add a special
variable to the environment with the value of a register with the
number of arguments. Now, that register just appears as a parameter to
the code stub.

BUG=
R=mvstanton@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoAdd a flag to lexer-shell to replicate input file.
ulan@chromium.org [Wed, 13 Nov 2013 18:16:19 +0000 (18:16 +0000)]
Add a flag to lexer-shell to replicate input file.

R=verwaest@chromium.org

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

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

10 years agoMake HForceRepresentation an idef.
mvstanton@chromium.org [Wed, 13 Nov 2013 17:03:11 +0000 (17:03 +0000)]
Make HForceRepresentation an idef.

An optimization in the array constructor wasn't firing because the code
would check for constant values, failing to find them through
intervening HForceRepresentation instructions. Repaired this site. A
follow-on CL will provide a better way of making decisions based on
constant HValues.

R=verwaest@chromium.org

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

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

10 years agoRemove boilerplate code in DataView getter/setter implementations
dslomov@chromium.org [Wed, 13 Nov 2013 16:11:36 +0000 (16:11 +0000)]
Remove boilerplate code in DataView getter/setter implementations

R=rossberg@chromium.org

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

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

10 years agoSlight change to Math.sin approximation.
yangguo@chromium.org [Wed, 13 Nov 2013 16:10:03 +0000 (16:10 +0000)]
Slight change to Math.sin approximation.

This is again to make sunspider's weird result verification happy.

R=jkummerow@chromium.org
BUG=

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

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