platform/upstream/v8.git
10 years agoFix parameter passing in callback store ics on arm
dcarney@chromium.org [Thu, 5 Dec 2013 12:38:50 +0000 (12:38 +0000)]
Fix parameter passing in callback store ics on arm

R=svenpanne@chromium.org

BUG=

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

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

10 years ago'make quickcheck': Assorted improvements.
jkummerow@chromium.org [Thu, 5 Dec 2013 12:37:24 +0000 (12:37 +0000)]
'make quickcheck': Assorted improvements.

'make ia32' should not build ia32.optdebug.
'make ia32.clean' should delete ia32.optdebug output.
'make quickcheck' should be terminatable by hitting Ctrl+C just once.

R=bmeurer@chromium.org

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

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

10 years agoReland "Implement hyperbolic math functions for ES6."
yangguo@chromium.org [Thu, 5 Dec 2013 12:36:42 +0000 (12:36 +0000)]
Reland "Implement hyperbolic math functions for ES6."

BUG=v8:2938
LOG=N
R=jarin@chromium.org

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

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

10 years agoPass -Goutput_dir=. to the make generator.
machenbach@chromium.org [Thu, 5 Dec 2013 11:19:10 +0000 (11:19 +0000)]
Pass -Goutput_dir=. to the make generator.

This makes it possible to remove the builddir_name hack added in r238632.

BUG=315004

Patch from Nico Weber <thakis@chromium.org>.

R=jkummerow@chromium.org

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

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

10 years agoRemove unused trigonometric code.
yangguo@chromium.org [Wed, 4 Dec 2013 11:39:24 +0000 (11:39 +0000)]
Remove unused trigonometric code.

R=jkummerow@chromium.org

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

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

10 years agoRemove unnecessary overflow check in HGraphBuilder::BuildCreateAllocationMemento().
mvstanton@chromium.org [Wed, 4 Dec 2013 10:46:18 +0000 (10:46 +0000)]
Remove unnecessary overflow check in HGraphBuilder::BuildCreateAllocationMemento().

With this fix codegen looks like:

mov ecx,[eax+0xf]  ;;; <@52,#38> load-named-field
add ecx,0x2  ;;; <@54,#40> add-i
mov [eax+0xf],ecx  ;;; <@56,#41> store-named-field

without it there is an overflow check and jump to deopt.

x64 code looks similar, except there is an (annoying) smi-untag then int32-to-smi around the add operation.

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

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

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

10 years agoRemove internal uses of HandleScope::Close().
svenpanne@chromium.org [Wed, 4 Dec 2013 10:09:08 +0000 (10:09 +0000)]
Remove internal uses of HandleScope::Close().

R=dslomov@chromium.org

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

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

10 years agoAllocationSite::memento_found_count() and friends need Smi access.
mvstanton@chromium.org [Wed, 4 Dec 2013 09:54:23 +0000 (09:54 +0000)]
AllocationSite::memento_found_count() and friends need Smi access.

Some new AllocationSite fields weren't accessed with the correct
representation.

R=hpayer@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.19.
machenbach@chromium.org [Wed, 4 Dec 2013 09:42:29 +0000 (09:42 +0000)]
Prepare push to trunk.  Now working on version 3.23.19.

R=dslomov@chromium.org
TBR=dslomov@chromium.org

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

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

10 years agoRevert "Use constant types to represent the fixed right arg of a MOD."
bmeurer@chromium.org [Wed, 4 Dec 2013 09:27:48 +0000 (09:27 +0000)]
Revert "Use constant types to represent the fixed right arg of a MOD."

This reverts commit r18246 for tanking all benchmarks.

TBR=svenpanne@chromium.org

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

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

10 years agoRevert "Implement hyperbolic math functions for ES6."
yangguo@chromium.org [Wed, 4 Dec 2013 08:53:17 +0000 (08:53 +0000)]
Revert "Implement hyperbolic math functions for ES6."

BUG=

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

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

10 years agoAdd fully automated mode to push-to-trunk script.
machenbach@chromium.org [Wed, 4 Dec 2013 08:47:18 +0000 (08:47 +0000)]
Add fully automated mode to push-to-trunk script.

Now there are three modes to run the script:
(1) default: semi-automated
(2) manual (-m option), like in the old script
(3) forced (-f option), no user input required no editor check

R=ulan@chromium.org

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

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

10 years agoUse constant types to represent the fixed right arg of a MOD.
bmeurer@chromium.org [Wed, 4 Dec 2013 08:37:34 +0000 (08:37 +0000)]
Use constant types to represent the fixed right arg of a MOD.

R=svenpanne@chromium.org

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

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

10 years agoImplement hyperbolic math functions for ES6.
yangguo@chromium.org [Wed, 4 Dec 2013 08:32:18 +0000 (08:32 +0000)]
Implement hyperbolic math functions for ES6.

R=jarin@chromium.org
BUG=v8:2938
LOG=Y

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

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

10 years agoFix performance regression in Kraken audio-oscillator.
bmeurer@chromium.org [Wed, 4 Dec 2013 08:25:58 +0000 (08:25 +0000)]
Fix performance regression in Kraken audio-oscillator.

BUG=325529
LOG=y
R=hpayer@chromium.org

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

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

10 years agoSkip write barrier if value and object originate from the same allocation.
bmeurer@chromium.org [Wed, 4 Dec 2013 06:06:57 +0000 (06:06 +0000)]
Skip write barrier if value and object originate from the same allocation.

R=mstarzinger@chromium.org

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

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

10 years agoAdd some test cases with dead loops.
titzer@chromium.org [Tue, 3 Dec 2013 18:04:45 +0000 (18:04 +0000)]
Add some test cases with dead loops.

BUG=
R=verwaest@chromium.org

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

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

10 years agoCheck whether the receiver to a keyed-call is actually a heapobject.
verwaest@chromium.org [Tue, 3 Dec 2013 17:59:31 +0000 (17:59 +0000)]
Check whether the receiver to a keyed-call is actually a heapobject.

BUG=325225
LOG=n
R=dslomov@chromium.org

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

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

10 years agoFix condition in merge-to-branch.sh
dslomov@chromium.org [Tue, 3 Dec 2013 14:30:36 +0000 (14:30 +0000)]
Fix condition in merge-to-branch.sh

R=yangguo@chromium.org

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

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

10 years ago'make quickcheck': don't overwrite debug output.
jkummerow@chromium.org [Tue, 3 Dec 2013 14:24:40 +0000 (14:24 +0000)]
'make quickcheck': don't overwrite debug output.

Achieved by turning optdebug into a first-class compilation mode.

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

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

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

10 years agoDisable escape analysis.
hpayer@chromium.org [Tue, 3 Dec 2013 13:48:40 +0000 (13:48 +0000)]
Disable escape analysis.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoTests that make a stack allocated persistent weak and rely on gc need to force gc
jochen@chromium.org [Tue, 3 Dec 2013 13:12:52 +0000 (13:12 +0000)]
Tests that make a stack allocated persistent weak and rely on gc need to force gc

Otherwise, if during a fuzzer test incremental marking is running, we'll
crash in the weak callback

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

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

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

10 years agoMock out date call in push-to-trunk script for testability.
machenbach@chromium.org [Tue, 3 Dec 2013 12:38:25 +0000 (12:38 +0000)]
Mock out date call in push-to-trunk script for testability.

TEST=python -m unittest test_scripts.ScriptTest.testPrepareChangeLog
R=ulan@chromium.org

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

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

10 years agoMake LCodeGen::RegisterDependentCodeForEmbeddedMaps platform independent.
ulan@chromium.org [Tue, 3 Dec 2013 12:32:35 +0000 (12:32 +0000)]
Make LCodeGen::RegisterDependentCodeForEmbeddedMaps platform independent.

BUG=
R=hpayer@chromium.org

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

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

10 years agoRevert "Use constant types to represent the fixed right arg of a MOD."
bmeurer@chromium.org [Tue, 3 Dec 2013 11:24:56 +0000 (11:24 +0000)]
Revert "Use constant types to represent the fixed right arg of a MOD."

This reverts commit r18228 for crashing on Windows.

TBR=mvstanton@chromium.org

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

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

10 years agoUse constant types to represent the fixed right arg of a MOD.
bmeurer@chromium.org [Tue, 3 Dec 2013 10:51:57 +0000 (10:51 +0000)]
Use constant types to represent the fixed right arg of a MOD.

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

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

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

10 years agoRemove deprecated Persistent::MakeWeak usage from V8
jochen@chromium.org [Tue, 3 Dec 2013 10:40:13 +0000 (10:40 +0000)]
Remove deprecated Persistent::MakeWeak usage from V8

BUG=none
LOG=n
R=dcarney@chromium.org, ulan@chromium.org

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

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

10 years agoChange clang-format config to allow for two empty lines between functions
jochen@chromium.org [Tue, 3 Dec 2013 10:39:21 +0000 (10:39 +0000)]
Change clang-format config to allow for two empty lines between functions

BUG=none
R=jkummerow@chromium.org
LOG=n

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

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

10 years agoAdd dcarney to V8 OWNERS
jochen@chromium.org [Tue, 3 Dec 2013 10:24:41 +0000 (10:24 +0000)]
Add dcarney to V8 OWNERS

R=danno@chromium.org
LOG=n
BUG=none

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

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

10 years agoEnable new string add.
bmeurer@chromium.org [Tue, 3 Dec 2013 09:59:24 +0000 (09:59 +0000)]
Enable new string add.

BUG=v8:2990
LOG=n
R=hpayer@chromium.org

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

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

10 years agoRemove HeapSnapshotsCollection class
yurys@chromium.org [Tue, 3 Dec 2013 09:48:30 +0000 (09:48 +0000)]
Remove HeapSnapshotsCollection class

The class added unecessary level of indirection to the heap profiler implementation. I merged some of its implementation into HeapProfiler and deleted the rest. This refactoring is also a prerequisite for keeping HeapObjectsMap alive even when all snapshots are deleted.

BUG=None
LOG=N
R=alph@chromium.org, mstarzinger@chromium.org

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

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

10 years agoFix change log generation in push-to-trunk script.
machenbach@chromium.org [Tue, 3 Dec 2013 09:13:51 +0000 (09:13 +0000)]
Fix change log generation in push-to-trunk script.

Fixed missing parenthesis in regular expression. The log checker matched on the word "true" and included a wrong change log entry.

TEST=python -m unittest test_scripts.ToplevelTest.testRegressWrongLogEntryOnTrue
R=ulan@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.18.
machenbach@chromium.org [Tue, 3 Dec 2013 08:00:20 +0000 (08:00 +0000)]
Prepare push to trunk.  Now working on version 3.23.18.

R=jkummerow@chromium.org

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

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

10 years agoRefactor X64 movq assembler instruction
haitao.feng@intel.com [Tue, 3 Dec 2013 03:49:41 +0000 (03:49 +0000)]
Refactor X64 movq assembler instruction

R=verwaest@chromium.org

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

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

10 years agoUse ULL and LL suffix for uint64_t and int64_t constants on Mac
haitao.feng@intel.com [Tue, 3 Dec 2013 02:49:42 +0000 (02:49 +0000)]
Use ULL and LL suffix for uint64_t and int64_t constants on Mac

R=verwaest@chromium.org

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

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

10 years agoMIPS: Tidy up Throw and Mod
palfia@homejinni.com [Mon, 2 Dec 2013 21:18:22 +0000 (21:18 +0000)]
MIPS: Tidy up Throw and Mod

Port r18200 (4110d9df)

Original commit message:
Small fixes to Throw and Mod Lithium instructions.

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Refactor BinaryOpIC to be able to use different stubs.
palfia@homejinni.com [Mon, 2 Dec 2013 21:17:16 +0000 (21:17 +0000)]
MIPS: Refactor BinaryOpIC to be able to use different stubs.

Port r18191 (c20c6dc1)

Original commit message:
Previously BinaryOpIC and BinaryOpStub were pretty much interdependent.
However, in order to use allocation sites for string adds on-demand,
we need to be able to use different stubs (with a different number of
register parameters, via trampolines) depending on the BinaryOpIC state.

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Fix HInnerAllocatedObject to use an HValue for the offset.
palfia@homejinni.com [Mon, 2 Dec 2013 21:16:21 +0000 (21:16 +0000)]
MIPS: Fix HInnerAllocatedObject to use an HValue for the offset.

Port r18181 (2b41b833)

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Optimize WrapReceiver
palfia@homejinni.com [Mon, 2 Dec 2013 21:15:31 +0000 (21:15 +0000)]
MIPS: Optimize WrapReceiver

Port r18180 (56666385)

Original commit message:
Optimize register constraints and code generated for WrapReceiver Lithium instruction.

BUG=
R=plind44@gmail.com

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

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

10 years agoCheck elimination: Learn from if(CompareMap(x)) on true branch.
titzer@chromium.org [Mon, 2 Dec 2013 18:34:33 +0000 (18:34 +0000)]
Check elimination: Learn from if(CompareMap(x)) on true branch.

BUG=
R=verwaest@chromium.org

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

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

10 years agoRemove remaining HandleScope::Close usage
jochen@chromium.org [Mon, 2 Dec 2013 18:12:01 +0000 (18:12 +0000)]
Remove remaining HandleScope::Close usage

For some reason, this is only caught when compiling with chromium on
Mac.

BUG=none
R=verwaest@chromium.org, dslomov@chromium.org
LOG=n

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

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

10 years agoMIPS: Remove the obsolete Code::IsPregenerated flag.
palfia@homejinni.com [Mon, 2 Dec 2013 17:40:06 +0000 (17:40 +0000)]
MIPS: Remove the obsolete Code::IsPregenerated flag.

Port r18172 (cd823192)

BUG=
R=plind44@gmail.com

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

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

10 years agoPrint exit code on crash in run-tests.py
ulan@chromium.org [Mon, 2 Dec 2013 15:46:41 +0000 (15:46 +0000)]
Print exit code on crash in run-tests.py

R=jkummerow@chromium.org

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

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

10 years agoFix: test-debug.cc: don't misuse C++.
marja@chromium.org [Mon, 2 Dec 2013 15:41:57 +0000 (15:41 +0000)]
Fix: test-debug.cc: don't misuse C++.

The test in question (test-debug/LiveEditEnabled) is expected to fail, and it
failed, but because of the wrong reason (the test asserts that the default
isolate is not initialized, SetLiveEditEnabled initialized the default
isolate because it doesn't get one as param). Now it fails because of the right
reason.

R=ulan@chromium.org
BUG=

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

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

10 years agoBug in StoreIC::GenerateMegamorphic: strict_mode/extra_ic_state mismatch.
mvstanton@chromium.org [Mon, 2 Dec 2013 15:38:50 +0000 (15:38 +0000)]
Bug in StoreIC::GenerateMegamorphic: strict_mode/extra_ic_state mismatch.

When computing the code flags for a megamorphic store IC, we mistakenly
passed a strict_mode variable when an ExtraICState was expected.

R=verwaest@chromium.org

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

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

10 years agoSupport 'werror=no' on Mac/Xcode
jkummerow@chromium.org [Mon, 2 Dec 2013 15:29:31 +0000 (15:29 +0000)]
Support 'werror=no' on Mac/Xcode

R=ulan@chromium.org

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

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

10 years agoARM: Tidy up Throw and Mod
m.m.capewell@googlemail.com [Mon, 2 Dec 2013 15:27:57 +0000 (15:27 +0000)]
ARM: Tidy up Throw and Mod

Small fixes to Throw and Mod Lithium instructions.

TEST=none
BUG=
R=ulan@chromium.org

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

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

10 years agoEnable global load elimination.
titzer@chromium.org [Mon, 2 Dec 2013 14:49:39 +0000 (14:49 +0000)]
Enable global load elimination.

BUG=
R=yangguo@chromium.org

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

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

10 years agoSimplify allocation tracker API
yurys@chromium.org [Mon, 2 Dec 2013 14:27:24 +0000 (14:27 +0000)]
Simplify allocation tracker API

Deprecated separate methods for starting/stopping allocation tracking in favor of a bool param to Start/StopTrackingHeapObjects.

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

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

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

10 years agoMove more logic from AST to oracle, pt 3
rossberg@chromium.org [Mon, 2 Dec 2013 13:49:32 +0000 (13:49 +0000)]
Move more logic from AST to oracle, pt 3

Also eliminates remaining dependencies of type-info on AST.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoFix NaCl build.
bmeurer@chromium.org [Mon, 2 Dec 2013 13:40:14 +0000 (13:40 +0000)]
Fix NaCl build.

TBR=dslomov@chromium.org

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

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

10 years agoRefactor BinaryOpIC to be able to use different stubs.
bmeurer@chromium.org [Mon, 2 Dec 2013 13:14:07 +0000 (13:14 +0000)]
Refactor BinaryOpIC to be able to use different stubs.

Previously BinaryOpIC and BinaryOpStub were pretty much interdependent.
However, in order to use allocation sites for string adds on-demand,
we need to be able to use different stubs (with a different number of
register parameters, via trampolines) depending on the BinaryOpIC state.

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

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

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

10 years agoFix invalid assertion with OSR in BuildBinaryOperation.
bmeurer@chromium.org [Mon, 2 Dec 2013 13:12:07 +0000 (13:12 +0000)]
Fix invalid assertion with OSR in BuildBinaryOperation.

BUG=v8:3032
LOG=n
R=yangguo@chromium.org

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

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

10 years agoMake sin-cos test case compatible with --always-osr.
yangguo@chromium.org [Mon, 2 Dec 2013 12:56:54 +0000 (12:56 +0000)]
Make sin-cos test case compatible with --always-osr.

R=machenbach@chromium.org

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

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

10 years agoHandle captured objects in OptimizedFrame::Summarize.
mstarzinger@chromium.org [Mon, 2 Dec 2013 12:11:02 +0000 (12:11 +0000)]
Handle captured objects in OptimizedFrame::Summarize.

R=yangguo@chromium.org
BUG=v8:3029
TEST=mjsunit/regress/regress-3029
LOG=N

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

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

10 years agoRemoved pieces of extra_ic_state scattered around the stub compiler class hierarchy...
mvstanton@chromium.org [Mon, 2 Dec 2013 11:59:44 +0000 (11:59 +0000)]
Removed pieces of extra_ic_state scattered around the stub compiler class hierarchy, and pushed down to a extra_ic_state in the base class.

R=verwaest@chromium.org

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

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

10 years agoFix HInnerAllocatedObject to use an HValue for the offset.
bmeurer@chromium.org [Mon, 2 Dec 2013 11:24:31 +0000 (11:24 +0000)]
Fix HInnerAllocatedObject to use an HValue for the offset.

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

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

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

10 years agoARM: Optimize WrapReceiver
m.m.capewell@googlemail.com [Mon, 2 Dec 2013 10:56:23 +0000 (10:56 +0000)]
ARM: Optimize WrapReceiver

Optimize register constraints and code generated for WrapReceiver Lithium
instruction.

TEST=none
BUG=
R=ulan@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.17.
machenbach@chromium.org [Mon, 2 Dec 2013 10:46:10 +0000 (10:46 +0000)]
Prepare push to trunk.  Now working on version 3.23.17.

R=dslomov@chromium.org

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

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

10 years agoAdd retry feature for push-to-trunk script.
machenbach@chromium.org [Mon, 2 Dec 2013 09:53:28 +0000 (09:53 +0000)]
Add retry feature for push-to-trunk script.

Make url accesses retry. Git retry requires some more analysis of git output first (follow up CL).

BUG=
R=jkummerow@chromium.org

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

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

10 years agoRemove special "store global proxy" IC, use as slow_stub().
verwaest@chromium.org [Mon, 2 Dec 2013 09:51:37 +0000 (09:51 +0000)]
Remove special "store global proxy" IC, use as slow_stub().

R=mvstanton@chromium.org

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

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

10 years agoRemove the obsolete Code::IsPregenerated flag.
bmeurer@chromium.org [Mon, 2 Dec 2013 09:46:35 +0000 (09:46 +0000)]
Remove the obsolete Code::IsPregenerated flag.

R=mstarzinger@chromium.org

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

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

10 years agoFix compilation error with latest Xcode.
bmeurer@chromium.org [Mon, 2 Dec 2013 08:09:17 +0000 (08:09 +0000)]
Fix compilation error with latest Xcode.

The build failed because of unused private fields.

R=titzer@chromium.org
BUG=v8:3030
LOG=n

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

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

10 years agoDon't run tests if build fails in quickcheck.
bmeurer@chromium.org [Sun, 1 Dec 2013 11:40:02 +0000 (11:40 +0000)]
Don't run tests if build fails in quickcheck.

TBR=machenbach@chromium.org

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

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

10 years agoMIPS: Drop IsPregenerated() and allow_stub_calls flag.
palfia@homejinni.com [Sat, 30 Nov 2013 01:32:07 +0000 (01:32 +0000)]
MIPS: Drop IsPregenerated() and allow_stub_calls flag.

Port r18167 (1e4b11e0)

Original commit message:
This also removes the fixed register hack that was required to support RecordWriteStub in the snapshot.

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Fix failures on Octane 2.0 zlib benchmark.
palfia@homejinni.com [Fri, 29 Nov 2013 23:46:10 +0000 (23:46 +0000)]
MIPS: Fix failures on Octane 2.0 zlib benchmark.

The bug was introduced in af9504e.

The zlib benchmark triggers long branch mode on MIPS, in which
at register is clobbered after every branch.

TEST=benchmarks/octane/zlib
BUG=
R=plind44@gmail.com

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

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

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

10 years agoDrop IsPregenerated() and allow_stub_calls flag.
bmeurer@chromium.org [Fri, 29 Nov 2013 20:49:15 +0000 (20:49 +0000)]
Drop IsPregenerated() and allow_stub_calls flag.

This also removes the fixed register hack that was required to support RecordWriteStub in the snapshot.

R=mstarzinger@chromium.org

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

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

10 years agoMIPS: Fix --new-string-add feature.
palfia@homejinni.com [Fri, 29 Nov 2013 19:51:52 +0000 (19:51 +0000)]
MIPS: Fix --new-string-add feature.

This commit fixes the arguments of NewStringAdd stub in full-codegen.

BUG=
R=gergely@homejinni.com

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

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

10 years agoMIPS: Optimize NumberTagU
palfia@homejinni.com [Fri, 29 Nov 2013 19:50:38 +0000 (19:50 +0000)]
MIPS: Optimize NumberTagU

Port r18162 (8377a09b)

Original commit message:
Optimize register constaints for NumberTagU Lithium instruction, and adjust code generated to match.

BUG=
R=gergely@homejinni.com

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

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

10 years agoArray builtins need to be prevented from changing frozen objects, and changing struct...
mvstanton@chromium.org [Fri, 29 Nov 2013 15:22:16 +0000 (15:22 +0000)]
Array builtins need to be prevented from changing frozen objects, and changing structure on sealed objects.

BUG=299979
LOG=Y
R=verwaest@chromium.org

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

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

10 years agoARM: Optimize NumberTagU
m.m.capewell@googlemail.com [Fri, 29 Nov 2013 13:21:43 +0000 (13:21 +0000)]
ARM: Optimize NumberTagU

Optimize register constaints for NumberTagU Lithium instruction, and adjust code
generated to match.

TEST=none
BUG=
R=ulan@chromium.org

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

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

10 years agoReupload CallIC changes.
verwaest@chromium.org [Fri, 29 Nov 2013 12:57:47 +0000 (12:57 +0000)]
Reupload CallIC changes.

Relands https://codereview.chromium.org/91963003/ with fix for the invalid receiver patching in case of the global object / interceptor.
BUG=
R=ishell@chromium.org

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

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

10 years agoEliminate HCheckHeapObject instructions in check elimination.
titzer@chromium.org [Fri, 29 Nov 2013 12:37:35 +0000 (12:37 +0000)]
Eliminate HCheckHeapObject instructions in check elimination.
BUG=
R=verwaest@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.16.
yangguo@chromium.org [Fri, 29 Nov 2013 11:43:05 +0000 (11:43 +0000)]
Prepare push to trunk.  Now working on version 3.23.16.

R=dslomov@chromium.org

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

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

10 years agoTurn off new_string_add flag.
yangguo@chromium.org [Fri, 29 Nov 2013 11:20:59 +0000 (11:20 +0000)]
Turn off new_string_add flag.

TBR=bmeurer@chromium.org

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

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

10 years agoRevert r18144, r18143.
yangguo@chromium.org [Fri, 29 Nov 2013 10:31:49 +0000 (10:31 +0000)]
Revert r18144, r18143.

MIPS: Fix register usage.

MIPS: Cleanup in the CallStubCompiler.

The original revisions r18131 and r18139 have been reverted.

TBR=palfia@homejinni.com

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

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

10 years agoA few small refactorings and typo fixes
jkummerow@chromium.org [Fri, 29 Nov 2013 10:02:32 +0000 (10:02 +0000)]
A few small refactorings and typo fixes

R=yangguo@chromium.org

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

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

10 years agoFollow-up fix for r18135 in TryCallApply.
mstarzinger@chromium.org [Fri, 29 Nov 2013 09:59:35 +0000 (09:59 +0000)]
Follow-up fix for r18135 in TryCallApply.

R=yangguo@chromium.org
BUG=chromium:323942
TEST=mjsunit/regress/regress-crbug-323942
LOG=N

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

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

10 years agoDo not put allocated block into HeapObjectsMap
yurys@chromium.org [Fri, 29 Nov 2013 09:54:38 +0000 (09:54 +0000)]
Do not put allocated block into HeapObjectsMap

Heap allocation reported to AllocationTracker may be later divided into several objects so it is incorrect to put the block as a new HeapObject into the map. We will match allocated block with actual HeapObjects later when iterating Heap (will be addressed in another patch). Since the objects are not assigned an id immediately after creation we need to call FindOrAddEntry when finding id for SharedFunctionInfo during stack crawling.

Removed hooks for tracking creation of AllocationMemento. AllocationMemento is not a HeapObject and should be considered as implementation overhead.

Renamed NewObjectEvent to AllocationEvent which is more precise in case of folded allocations and when a part of the new block becomes AllocationMemento.

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

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

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

10 years agoFix context register allocation in LTransitionElementsKind.
mstarzinger@chromium.org [Fri, 29 Nov 2013 09:47:40 +0000 (09:47 +0000)]
Fix context register allocation in LTransitionElementsKind.

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

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

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

10 years agoMove heap profiler state flags to HeapProfiler
yurys@chromium.org [Fri, 29 Nov 2013 09:47:32 +0000 (09:47 +0000)]
Move heap profiler state flags to HeapProfiler

- moved is_tracking_objects_ flag to HeapProfiler and renamed it to is_tracking_objects_moves_
- Removed redundant call to UpdateHeapObjectsMap

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

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

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

10 years agoEnable --new-string-add by default.
bmeurer@chromium.org [Fri, 29 Nov 2013 09:44:54 +0000 (09:44 +0000)]
Enable --new-string-add by default.

R=hpayer@chromium.org

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

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

10 years agoFix build.
yangguo@chromium.org [Fri, 29 Nov 2013 09:31:45 +0000 (09:31 +0000)]
Fix build.

R=mvstanton@chromium.org

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

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

10 years agoRevert r18131 and r18139 "Clean up in the CallStubCompiler".
yangguo@chromium.org [Fri, 29 Nov 2013 09:02:00 +0000 (09:02 +0000)]
Revert r18131 and r18139 "Clean up in the CallStubCompiler".

and "Fix register usage."

TBR=verwaest@chromium.org

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

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

10 years agoMIPS: Fetch strictmode in the interceptor setter from the IC.
palfia@homejinni.com [Fri, 29 Nov 2013 01:47:48 +0000 (01:47 +0000)]
MIPS: Fetch strictmode in the interceptor setter from the IC.

Port r18140 (9d563402)

BUG=
R=gergely@homejinni.com

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

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

10 years agoMIPS: Fix register usage.
palfia@homejinni.com [Fri, 29 Nov 2013 01:46:43 +0000 (01:46 +0000)]
MIPS: Fix register usage.

Port r18139 (2d54152a)

BUG=
R=gergely@homejinni.com

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

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

10 years agoMIPS: Cleanup in the CallStubCompiler.
palfia@homejinni.com [Fri, 29 Nov 2013 01:44:23 +0000 (01:44 +0000)]
MIPS: Cleanup in the CallStubCompiler.

Port r18131 (b49d9992)

BUG=
R=gergely@homejinni.com

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

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

10 years agoMIPS: Use the HandlerFrontendHeader in most call compilers.
palfia@homejinni.com [Fri, 29 Nov 2013 01:43:02 +0000 (01:43 +0000)]
MIPS: Use the HandlerFrontendHeader in most call compilers.

Port r18125 (e541c68d)

BUG=
R=gergely@homejinni.com

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

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

10 years agoRemove strictmode from FindHandler.
verwaest@chromium.org [Thu, 28 Nov 2013 18:13:30 +0000 (18:13 +0000)]
Remove strictmode from FindHandler.

R=mvstanton@chromium.org

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

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

10 years agoFetch strictmode in the interceptor setter from the IC.
verwaest@chromium.org [Thu, 28 Nov 2013 18:11:15 +0000 (18:11 +0000)]
Fetch strictmode in the interceptor setter from the IC.

R=mvstanton@chromium.org

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

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

10 years agoFix register usage.
verwaest@chromium.org [Thu, 28 Nov 2013 18:09:05 +0000 (18:09 +0000)]
Fix register usage.

R=ishell@chromium.org

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

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

10 years agoRemove static asserts that dont compile on windows
titzer@chromium.org [Thu, 28 Nov 2013 16:14:54 +0000 (16:14 +0000)]
Remove static asserts that dont compile on windows
TBR=mvstanton

BUG=

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

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

10 years agoImplement global check elimination using the HFlowEngine.
titzer@chromium.org [Thu, 28 Nov 2013 15:50:54 +0000 (15:50 +0000)]
Implement global check elimination using the HFlowEngine.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoMove responsibility for definition of ExtraICState bits into the ICs.
mvstanton@chromium.org [Thu, 28 Nov 2013 15:32:55 +0000 (15:32 +0000)]
Move responsibility for definition of ExtraICState bits into the ICs.

Currently it's in the Code object for some ICs and in ICs for other ICs.
This should make it easier to alter bits as needed.

2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state.

3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble.

R=verwaest@chromium.org

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

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

10 years agoFix bug in inlining Function.apply.
yangguo@chromium.org [Thu, 28 Nov 2013 15:30:17 +0000 (15:30 +0000)]
Fix bug in inlining Function.apply.

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

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

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

10 years agoFix load elimination: can only .Equals() GVN-able instructions.
titzer@chromium.org [Thu, 28 Nov 2013 15:27:42 +0000 (15:27 +0000)]
Fix load elimination: can only .Equals() GVN-able instructions.

BUG=
R=yangguo@chromium.org

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

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

10 years agoCleanup in the CallStubCompiler.
verwaest@chromium.org [Thu, 28 Nov 2013 15:26:04 +0000 (15:26 +0000)]
Cleanup in the CallStubCompiler.

BUG=
R=ishell@chromium.org

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

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

10 years agoMove more logic from AST to oracle, pt 2
rossberg@chromium.org [Thu, 28 Nov 2013 15:25:38 +0000 (15:25 +0000)]
Move more logic from AST to oracle, pt 2

(More to follow)

R=jkummerow@chromium.org
BUG=

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

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

10 years agoEnsure that length is Smi in TypedArrayFromArrayLike constructor.
dslomov@chromium.org [Thu, 28 Nov 2013 15:22:36 +0000 (15:22 +0000)]
Ensure that length is Smi in TypedArrayFromArrayLike constructor.

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

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

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

10 years agoUndeprecate Persistent::ClearAndLeak
jochen@chromium.org [Thu, 28 Nov 2013 14:30:20 +0000 (14:30 +0000)]
Undeprecate Persistent::ClearAndLeak

We depend on this in blink, and won't be able to replace it in
the near future

R=svenpanne@google.com, svenpanne@chromium.org
BUG=none
LOG=n

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

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