platform/upstream/v8.git
10 years agoMake PropertyCell::UpdatedType return a handle.
mstarzinger@chromium.org [Tue, 22 Oct 2013 08:24:35 +0000 (08:24 +0000)]
Make PropertyCell::UpdatedType return a handle.

R=rossberg@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.22.19.
bmeurer@chromium.org [Tue, 22 Oct 2013 07:59:35 +0000 (07:59 +0000)]
Prepare push to trunk.  Now working on version 3.22.19.

R=mstarzinger@chromium.org

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

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

10 years agoAdd test for push-to-trunk script.
machenbach@chromium.org [Tue, 22 Oct 2013 06:59:35 +0000 (06:59 +0000)]
Add test for push-to-trunk script.

This is a prototype attempt for testing the push-to-trunk script. There are several todos left, but it is not clear if it is worth investing time into those. The test is meant to aid in verifying modifications in the push-to-trunk script.

R=jkummerow@chromium.org

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

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

10 years ago[Sheriff] Revert "Record allocation stack traces" and "Temporarily disable test-heap...
bmeurer@chromium.org [Tue, 22 Oct 2013 06:56:19 +0000 (06:56 +0000)]
[Sheriff] Revert "Record allocation stack traces" and "Temporarily disable test-heap-profiler/TrackHeapAllocations".

This reverts commit r17301 and r17303 for breaking the nosnap builds.

TBR=yurys@chromium.org

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

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

10 years agoMIPS: Fix kraken 1.1 benchmark failure.
palfia@homejinni.com [Mon, 21 Oct 2013 22:22:03 +0000 (22:22 +0000)]
MIPS: Fix kraken 1.1 benchmark failure.

This makes sure that the DoubleToIStub::Generate method
does not overwrite the value of the f12 register.

TEST=bencnhmarks/kraken/stanford-crypto-pbkdf2
BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Add tool to visualize machine code/lithium.
palfia@homejinni.com [Mon, 21 Oct 2013 22:20:45 +0000 (22:20 +0000)]
MIPS: Add tool to visualize machine code/lithium.

Port r17295 (b36eb655)

Original commit message:
In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Inline number to string conversion for string addition into BinaryOp(Stub).
palfia@homejinni.com [Mon, 21 Oct 2013 22:16:01 +0000 (22:16 +0000)]
MIPS: Inline number to string conversion for string addition into BinaryOp(Stub).

Port r17290 (b5fabb92)

Original commit message:
This fixes a performance regression that was caused by converting the
BinaryOpStub to a Hydrogen code stub. It also fixes a leftover TODO wrt.
the handling of Number*String or String*Number versions of the stub.

BUG=
R=plind44@gmail.com

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

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

10 years agoTemporarily disable test-heap-profiler/TrackHeapAllocations
yurys@chromium.org [Mon, 21 Oct 2013 16:21:16 +0000 (16:21 +0000)]
Temporarily disable test-heap-profiler/TrackHeapAllocations

The test started failing on  V8 Linux - nosnap - debug after r17301 which added stack traversal to the allocation tracker. I'm disabling it for now until the problem is fixed.

BUG=v8:2949
TBR=hpayer@chromium.org

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

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

10 years agoRecord allocation stack traces
yurys@chromium.org [Mon, 21 Oct 2013 15:22:11 +0000 (15:22 +0000)]
Record allocation stack traces

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.

BUG=chromium:277984
R=hpayer@chromium.org, loislo@chromium.org

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

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

10 years agoHEnvironmentMarker factory added
ishell@chromium.org [Mon, 21 Oct 2013 14:18:55 +0000 (14:18 +0000)]
HEnvironmentMarker factory added

R=bmeurer@chromium.org

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

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

10 years agoAllow constants to be deleted by reinserting them into the graph as needed.
titzer@chromium.org [Mon, 21 Oct 2013 14:09:32 +0000 (14:09 +0000)]
Allow constants to be deleted by reinserting them into the graph as needed.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoHandlify PropertyCell::SetValueInferType and friends.
mstarzinger@chromium.org [Mon, 21 Oct 2013 13:55:24 +0000 (13:55 +0000)]
Handlify PropertyCell::SetValueInferType and friends.

This finally gets rid of the pesky trampoline in SetValueInferType and
enforces the layering between PropertyCell and Heap. It requires full
handlification of NewGlobalObject as well, which is only used when the
snapshot is created at compile-time.

R=rossberg@chromium.org

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

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

10 years agoAdd ishell@ to OWNERS.
bmeurer@chromium.org [Mon, 21 Oct 2013 13:52:12 +0000 (13:52 +0000)]
Add ishell@ to OWNERS.

TBR=danno@chromium.org

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

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

10 years agoAdd tool to visualize machine code/lithium.
danno@chromium.org [Mon, 21 Oct 2013 13:35:48 +0000 (13:35 +0000)]
Add tool to visualize machine code/lithium.

In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.

Originally reviewed in this CL: https://codereview.chromium.org/24957003/

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

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

10 years agoHandle misaligned loads and stores in load elimination. Do not track misaligned loads...
titzer@chromium.org [Mon, 21 Oct 2013 13:33:03 +0000 (13:33 +0000)]
Handle misaligned loads and stores in load elimination. Do not track misaligned loads and be conservative about invalidating misaligned stores. Add more tests for number conversion to string (NumberToStringStub exhibits misaligned loads)

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

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

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

10 years agoPrepare push to trunk. Now working on version 3.22.18.
bmeurer@chromium.org [Mon, 21 Oct 2013 13:27:08 +0000 (13:27 +0000)]
Prepare push to trunk.  Now working on version 3.22.18.

R=mstarzinger@chromium.org

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

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

10 years agoInline number to string conversion for string addition into BinaryOp(Stub).
bmeurer@chromium.org [Mon, 21 Oct 2013 12:42:08 +0000 (12:42 +0000)]
Inline number to string conversion for string addition into BinaryOp(Stub).

This fixes a performance regression that was caused by converting the
BinaryOpStub to a Hydrogen code stub. It also fixes a leftover TODO wrt.
the handling of Number*String or String*Number versions of the stub.

R=rossberg@chromium.org

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

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

10 years agoRevert "Add a soft-deopt in keyed element access when current IC is pre-monomorphic...
bmeurer@chromium.org [Mon, 21 Oct 2013 12:32:38 +0000 (12:32 +0000)]
Revert "Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected."

This reverts commit r17288 for breaking the mjsunit/unbox-double-arrays
test on almost every platform.

TBR=hpayer@chromium.org

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

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

10 years agoAdd a soft-deopt in keyed element access when current IC is pre-monomorphic and no...
hpayer@chromium.org [Mon, 21 Oct 2013 12:10:01 +0000 (12:10 +0000)]
Add a soft-deopt in keyed element access when current IC is pre-monomorphic and no type feedback was collected.

BUG=
R=danno@chromium.org

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

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

10 years agoHarmony: implement Math.trunc.
yangguo@chromium.org [Mon, 21 Oct 2013 11:15:11 +0000 (11:15 +0000)]
Harmony: implement Math.trunc.

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

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

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

10 years agoRevert "Enable load elimination."
titzer@chromium.org [Mon, 21 Oct 2013 09:36:55 +0000 (09:36 +0000)]
Revert "Enable load elimination."

This reverts commit r17281.

TBR=bmeurer@chromium.org

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

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

10 years agoEnable load elimination.
titzer@chromium.org [Mon, 21 Oct 2013 09:24:29 +0000 (09:24 +0000)]
Enable load elimination.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoHarmony: implement Math.sign.
yangguo@chromium.org [Mon, 21 Oct 2013 09:16:31 +0000 (09:16 +0000)]
Harmony: implement Math.sign.

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

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

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

10 years agoPrepare push to trunk. Now working on version 3.22.17.
bmeurer@chromium.org [Mon, 21 Oct 2013 07:19:11 +0000 (07:19 +0000)]
Prepare push to trunk.  Now working on version 3.22.17.

R=svenpanne@chromium.org

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

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

10 years agoMake stack_parameter_count a plain register.
mstarzinger@chromium.org [Fri, 18 Oct 2013 14:55:21 +0000 (14:55 +0000)]
Make stack_parameter_count a plain register.

R=rossberg@chromium.org, danno@chromium.org

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

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

10 years agoImplement global load elimination based on flow engine.
titzer@chromium.org [Fri, 18 Oct 2013 14:28:24 +0000 (14:28 +0000)]
Implement global load elimination based on flow engine.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoHandlify JSObject::HasReal*Property.
yangguo@chromium.org [Fri, 18 Oct 2013 12:52:07 +0000 (12:52 +0000)]
Handlify JSObject::HasReal*Property.

R=ulan@chromium.org
BUG=

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

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

10 years agoHeapProfiler: integrate FindUntrackedObjects into js code.
loislo@chromium.org [Fri, 18 Oct 2013 11:25:43 +0000 (11:25 +0000)]
HeapProfiler: integrate FindUntrackedObjects into js code.

In some cases we would like to check untracked objects right from the js code.
Otherwise the objects might be collected rigth before check.

BUG=none
R=hpayer@chromium.org, yurys@chromium.org

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

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

10 years agoHeapProfiler: for the test purposes we would like to trace object movements.
loislo@chromium.org [Fri, 18 Oct 2013 10:59:55 +0000 (10:59 +0000)]
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

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

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

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

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

10 years agoTweak Math.log on ia32/x64
jkummerow@chromium.org [Fri, 18 Oct 2013 10:54:45 +0000 (10:54 +0000)]
Tweak Math.log on ia32/x64

ia32 and x64 more consistent now
1. use non-transcendental cache version of log for x64
2. use negative infinity constant instead of pushing to stack and loading to XMM register
3. remove movdbl, use movsd directly. movdbl seems confusing

BUG=
R=jkummerow@chromium.org

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

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

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

10 years agoPrepare push to trunk. Now working on version 3.22.16.
mstarzinger@chromium.org [Fri, 18 Oct 2013 10:32:11 +0000 (10:32 +0000)]
Prepare push to trunk.  Now working on version 3.22.16.

R=bmeurer@chromium.org

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

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

10 years agoRevert "HeapProfiler: for the test purposes we would like to trace object movements."
mstarzinger@chromium.org [Fri, 18 Oct 2013 09:50:06 +0000 (09:50 +0000)]
Revert "HeapProfiler: for the test purposes we would like to trace object movements."

This reverts r17263 because of compile failures accross all builds.

TBR=loislo@chromium.org

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

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

10 years agoHeapProfiler: for the test purposes we would like to trace object movements.
loislo@chromium.org [Fri, 18 Oct 2013 09:40:00 +0000 (09:40 +0000)]
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

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

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

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

10 years agoRemoved dead code from mksnapshot.
svenpanne@chromium.org [Fri, 18 Oct 2013 09:06:58 +0000 (09:06 +0000)]
Removed dead code from mksnapshot.

R=mstarzinger@chromium.org

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

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

10 years agoAlways make a copy of a string when adding it to StringsStorage
yurys@chromium.org [Fri, 18 Oct 2013 08:56:14 +0000 (08:56 +0000)]
Always make a copy of a string when adding it to StringsStorage

Otherwise the string passed as const char* may be disposed and we will end up with a dangling pointer.

Also changed StringsStorage::GetCopy so that a copy is not created if the string is already in the cache.

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

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

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

10 years agoRevert "HeapProfiler: for the test purposes we would like to trace object movements."
loislo@chromium.org [Fri, 18 Oct 2013 08:11:36 +0000 (08:11 +0000)]
Revert "HeapProfiler: for the test purposes we would like to trace object movements."

Compilation failed on Win64.

This reverts commit 6909faccca68c04b7ec4537538e6e7a0cc1650b8.

BUG=none
TBR=yurys

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

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

10 years agoHeapProfiler: for the test purposes we would like to trace object movements.
loislo@chromium.org [Fri, 18 Oct 2013 07:43:50 +0000 (07:43 +0000)]
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

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

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

10 years agoPrevent changes to hidden properties from being observable via Object.observe
rafaelw@chromium.org [Thu, 17 Oct 2013 20:49:45 +0000 (20:49 +0000)]
Prevent changes to hidden properties from being observable via Object.observe

This addresses the leak that mstarzinger points out (https://codereview.chromium.org/26390003/) and includes the test.

Note that this adds a test that observing changes to the empty-string property remains possible.

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

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

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

10 years agoMake it possible to run a test only in the standard variant.
svenpanne@chromium.org [Thu, 17 Oct 2013 13:09:28 +0000 (13:09 +0000)]
Make it possible to run a test only in the standard variant.

Use this for mjsunit/unicode-case-overoptimization, which is not
related to Crankshaft at all and takes ages.

R=jkummerow@chromium.org

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

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

10 years agoAdd regression test for optimized count operation.
mstarzinger@chromium.org [Thu, 17 Oct 2013 12:48:28 +0000 (12:48 +0000)]
Add regression test for optimized count operation.

This is a regression test for a bug with handling of count operations
that target a JavaScript accessor on the prototype chain in Crankshaft.

R=jkummerow@chromium.org
BUG=chromium:306851
TEST=mjsunit/regress/regress-crbug-306851

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

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

10 years agoEnable calling the SetReference* & SetObjectGroupId functions with a Persistent<Subcl...
marja@chromium.org [Thu, 17 Oct 2013 11:48:03 +0000 (11:48 +0000)]
Enable calling the SetReference* & SetObjectGroupId functions with a Persistent<SubclassOfValue>.

This is needed for https://codereview.chromium.org/26792002/

BUG=
R=svenpanne@chromium.org

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

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

10 years agoCosmetic: Add macros for NaN, undefined and Infinity to native js code.
yangguo@chromium.org [Thu, 17 Oct 2013 10:02:45 +0000 (10:02 +0000)]
Cosmetic: Add macros for NaN, undefined and Infinity to native js code.

Nobody should need to use $NaN, 0/0, 1/0 and void 0.

R=mvstanton@chromium.org
BUG=

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

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

10 years agoPrepare push to trunk. Now working on version 3.22.15.
mstarzinger@chromium.org [Thu, 17 Oct 2013 08:03:12 +0000 (08:03 +0000)]
Prepare push to trunk.  Now working on version 3.22.15.

R=bmeurer@chromium.org

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

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

10 years agoMIPS: Add support for Token::NE and Token::NE_STRICT to TokenToCondition.
palfia@homejinni.com [Wed, 16 Oct 2013 23:15:30 +0000 (23:15 +0000)]
MIPS: Add support for Token::NE and Token::NE_STRICT to TokenToCondition.

Port r17239 (c203175f)

Original commit message:
This is required to be able to use these tokens with
HCompareNumericAndBranch.

BUG=
R=plind44@gmail.com

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

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

10 years agoFix leak in optimizing compiler thread.
yangguo@chromium.org [Wed, 16 Oct 2013 16:27:17 +0000 (16:27 +0000)]
Fix leak in optimizing compiler thread.

R=mvstanton@chromium.org
BUG=

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

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

10 years agoImprove queuing for concurrent OSR.
yangguo@chromium.org [Wed, 16 Oct 2013 14:47:20 +0000 (14:47 +0000)]
Improve queuing for concurrent OSR.

Specifically, this includes:
- Encapsulating data structure for osr buffer into CyclicBuffer
- Use the new CyclicQueue instead of UnboundedQueue to queue new jobs.
  We can enqueue and dequeue a CyclicQueue on both ends in O(1).
  This allows us to add OSR jobs to the front for lower compile latency.
- Dispose osr buffer by one stale job per GC to avoid leak

R=titzer@chromium.org
BUG=

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

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

10 years agoFix lower bound of shr.
olivf@chromium.org [Wed, 16 Oct 2013 14:39:27 +0000 (14:39 +0000)]
Fix lower bound of shr.

BUG=
R=rossberg@chromium.org

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

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

10 years agoGet rid of HEAP_PROFILE macro
yurys@chromium.org [Wed, 16 Oct 2013 14:33:04 +0000 (14:33 +0000)]
Get rid of HEAP_PROFILE macro

All usages of the macro were replaced with direct calls to the heap profiler. The macro does null check for HeapProfiler which is always true.

BUG=None
R=yangguo@chromium.org

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

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

10 years agoRevert "TransitionAndStoreStub bailout needs to transition (and store)."
mstarzinger@chromium.org [Wed, 16 Oct 2013 14:17:31 +0000 (14:17 +0000)]
Revert "TransitionAndStoreStub bailout needs to transition (and store)."

This reverts commit r17216 breaking fast/js/cross-frame-bad-time.html test.

R=mvstanton@chromium.org
TEST=webkit:fast/js/cross-frame-bad-time.html

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

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

10 years agoRemove dead constants not in block #0.
titzer@chromium.org [Wed, 16 Oct 2013 13:19:46 +0000 (13:19 +0000)]
Remove dead constants not in block #0.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoAdd support for Token::NE and Token::NE_STRICT to TokenToCondition.
bmeurer@chromium.org [Wed, 16 Oct 2013 12:20:21 +0000 (12:20 +0000)]
Add support for Token::NE and Token::NE_STRICT to TokenToCondition.

This is required to be able to use these tokens with
HCompareNumericAndBranch.

R=svenpanne@chromium.org

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

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

10 years agoRefactor part of handles.cc
yangguo@chromium.org [Wed, 16 Oct 2013 11:52:03 +0000 (11:52 +0000)]
Refactor part of handles.cc

BUG=
R=rossberg@chromium.org

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

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

10 years agoReturn descriptor ownership after TrimDescriptorArray to allow resharing of descripto...
mstarzinger@chromium.org [Wed, 16 Oct 2013 11:16:49 +0000 (11:16 +0000)]
Return descriptor ownership after TrimDescriptorArray to allow resharing of descriptor arrays

BUG=None
R=mstarzinger@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

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

10 years agoImplement fixpoint iteration for escape analysis.
mstarzinger@chromium.org [Wed, 16 Oct 2013 09:16:56 +0000 (09:16 +0000)]
Implement fixpoint iteration for escape analysis.

R=titzer@chromium.org

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

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

10 years agoHandlify GetPropertyWithCallback.
yangguo@chromium.org [Wed, 16 Oct 2013 09:13:31 +0000 (09:13 +0000)]
Handlify GetPropertyWithCallback.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoPrepare push to trunk. Now working on version 3.22.14.
mstarzinger@chromium.org [Wed, 16 Oct 2013 08:58:53 +0000 (08:58 +0000)]
Prepare push to trunk.  Now working on version 3.22.14.

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

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

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

10 years agoFix unexpected stack traces in test-cpu-profiler/JsNativeJsSample
yurys@chromium.org [Wed, 16 Oct 2013 08:15:06 +0000 (08:15 +0000)]
Fix unexpected stack traces in test-cpu-profiler/JsNativeJsSample

This is a follow-up fix for r17140 which makes sure that cpu profiler is started before profiled js functions are compiled so that the profiler gets information about "no frame" ranges along with add code events.

BUG=v8:2933
R=jkummerow@chromium.org, loislo@chromium.org

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

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

10 years agoAllocationSites for all literals
mvstanton@chromium.org [Wed, 16 Oct 2013 08:10:36 +0000 (08:10 +0000)]
AllocationSites for all literals

R=hpayer@chromium.org

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

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

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

10 years agoFix for non-SSE2.
svenpanne@chromium.org [Wed, 16 Oct 2013 08:08:41 +0000 (08:08 +0000)]
Fix for non-SSE2.

BUG=cctest/test-assembler-ia32/AssemblerIa32Extractps
R=bmeurer@chromium.org

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

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

10 years agoRefactor deferred_objects_double_values_ a little in the deoptimization
haitao.feng@intel.com [Wed, 16 Oct 2013 03:30:06 +0000 (03:30 +0000)]
Refactor deferred_objects_double_values_ a little in the deoptimization

R=mstarzinger@chromium.org

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

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

10 years agoMIPS: Make TestJSArrayForAllocationMemento less awkward.
palfia@homejinni.com [Tue, 15 Oct 2013 23:12:15 +0000 (23:12 +0000)]
MIPS: Make TestJSArrayForAllocationMemento less awkward.

Port r17220 (be968d52)

Original commit message:
Generated code ended up having two conditional jump statements in a
row. Also introduce JumpIfJSArrayHasAllocationMemento which handles
most cases more simply.

BUG=
R=gergely@homejinni.com

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

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

10 years agoHandlify JSObject::SetObserved
rafaelw@chromium.org [Tue, 15 Oct 2013 19:28:11 +0000 (19:28 +0000)]
Handlify JSObject::SetObserved

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoProperly export uin32_bias double constant.
olivf@chromium.org [Tue, 15 Oct 2013 16:12:25 +0000 (16:12 +0000)]
Properly export uin32_bias double constant.

This makes LoadUint32 snapshot safe.

BUG=
R=svenpanne@chromium.org

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

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

10 years agoRevert "AllocationSites for all literals"
mvstanton@chromium.org [Tue, 15 Oct 2013 15:35:23 +0000 (15:35 +0000)]
Revert "AllocationSites for all literals"

This reverts commit r17219 due to WebKit failures.

R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org

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

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

10 years agoSimplify array element access in Hydrogen.
jkummerow@chromium.org [Tue, 15 Oct 2013 15:06:04 +0000 (15:06 +0000)]
Simplify array element access in Hydrogen.

No change in functionality intended.

R=mvstanton@chromium.org

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

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

10 years agoMake TestJSArrayForAllocationMemento less awkward.
mvstanton@chromium.org [Tue, 15 Oct 2013 15:04:29 +0000 (15:04 +0000)]
Make TestJSArrayForAllocationMemento less awkward.

Generated code ended up having two conditional jump statements in a
row. Also introduce JumpIfJSArrayHasAllocationMemento which handles
most cases more simply.

R=jkummerow@chromium.org

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

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

10 years agoAllocationSites for all literals
mvstanton@chromium.org [Tue, 15 Oct 2013 14:52:58 +0000 (14:52 +0000)]
AllocationSites for all literals

BUG=
R=hpayer@chromium.org

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

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

10 years agoDo not rely on actual NaN value for testing extractps.
svenpanne@chromium.org [Tue, 15 Oct 2013 14:04:49 +0000 (14:04 +0000)]
Do not rely on actual NaN value for testing extractps.

BUG=cctest/test-assembler-ia32/AssemblerIa32Extractps, cctest/test-assembler-x64/AssemblerX64Extractps
R=bmeurer@chromium.org

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

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

10 years agoFixed bug in extractps instruction on ia32 and x64
svenpanne@chromium.org [Tue, 15 Oct 2013 12:51:58 +0000 (12:51 +0000)]
Fixed bug in extractps instruction on ia32 and x64

This is a fixed version of https://codereview.chromium.org/27097002/
which was originally written by weiliang.lin@intel.com.

R=bmeurer@chromium.org

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

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

10 years agoTransitionAndStoreStub bailout needs to transition (and store).
mvstanton@chromium.org [Tue, 15 Oct 2013 12:42:03 +0000 (12:42 +0000)]
TransitionAndStoreStub bailout needs to transition (and store).

Performance regression found in test regress-2185-2.js. The problem was
that the bailout method for TransitionAndStoreStub was not performing
the appropriate transition.

BUG=
R=bmeurer@chromium.org

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

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

10 years agoDo not look up ArrayBuffer on global object in typed array constructor.
dslomov@chromium.org [Tue, 15 Oct 2013 11:27:12 +0000 (11:27 +0000)]
Do not look up ArrayBuffer on global object in typed array constructor.

BUG=v8:2931
R=rossberg@chromium.org

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

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

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

10 years agoDelete dead code from HOptimizedGraphBuilder::VisitCompareOperation
jkummerow@chromium.org [Tue, 15 Oct 2013 11:24:37 +0000 (11:24 +0000)]
Delete dead code from HOptimizedGraphBuilder::VisitCompareOperation

R=rossberg@chromium.org

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

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

10 years agoDisable RegExpInterruption test for interpreted irregexp.
yangguo@chromium.org [Tue, 15 Oct 2013 08:59:26 +0000 (08:59 +0000)]
Disable RegExpInterruption test for interpreted irregexp.

Interrupts are not currently supported by interpreted irregexp.

R=mvstanton@chromium.org
BUG=

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

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

10 years agoRemove deprecated "i::" prefix from the pre-parser.
mstarzinger@chromium.org [Tue, 15 Oct 2013 08:57:36 +0000 (08:57 +0000)]
Remove deprecated "i::" prefix from the pre-parser.

R=ulan@chromium.org

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

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

10 years agoUnify several checking methods between parser and pre-parser.
mstarzinger@chromium.org [Tue, 15 Oct 2013 08:32:58 +0000 (08:32 +0000)]
Unify several checking methods between parser and pre-parser.

R=ulan@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.22.13.
mstarzinger@chromium.org [Tue, 15 Oct 2013 08:22:27 +0000 (08:22 +0000)]
Prepare push to trunk.  Now working on version 3.22.13.

R=bmeurer@chromium.org

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

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

10 years agoFix regexp interrupt test.
yangguo@chromium.org [Tue, 15 Oct 2013 08:06:01 +0000 (08:06 +0000)]
Fix regexp interrupt test.

R=jochen@chromium.org
BUG=

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

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

10 years agoIntroduce ParserBase for common code between parser and pre-parser.
mstarzinger@chromium.org [Mon, 14 Oct 2013 16:46:51 +0000 (16:46 +0000)]
Introduce ParserBase for common code between parser and pre-parser.

R=ulan@chromium.org

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

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

10 years agoRetire concurrent recompilation delay for non-stress testing.
yangguo@chromium.org [Mon, 14 Oct 2013 14:15:22 +0000 (14:15 +0000)]
Retire concurrent recompilation delay for non-stress testing.

Instead, we block concurrent recompilation until unblocked. This makes
affected tests more predictable and run shorter.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoAdd histograms to track fraction of heap spaces and percentage of generated crankshaf...
mstarzinger@chromium.org [Mon, 14 Oct 2013 14:00:28 +0000 (14:00 +0000)]
Add histograms to track fraction of heap spaces and percentage of generated crankshaft code.

BUG=None
R=mstarzinger@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

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

10 years agoOut-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object.
ulan@chromium.org [Mon, 14 Oct 2013 13:35:06 +0000 (13:35 +0000)]
Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object.

Second stage of implementing an out-of-line constant pool on Arm.  This CL
Introduces the ConstantPoolArray object which will be used as the backing
store of out-of-line constant pools.  Nothing uses this object yet.

BUG=
R=ulan@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

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

10 years agoReduce queue size in dead code elimination by eagerly processing live instructions.
titzer@chromium.org [Mon, 14 Oct 2013 13:32:02 +0000 (13:32 +0000)]
Reduce queue size in dead code elimination by eagerly processing live instructions.

BUG=
R=rmcilroy@chromium.org

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

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

10 years agoFix initial comparison combined_type
rossberg@chromium.org [Mon, 14 Oct 2013 13:25:36 +0000 (13:25 +0000)]
Fix initial comparison combined_type

R=jkummerow@chromium.org
BUG=

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

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

10 years agoAdd additional postmortem debugging metadata to support decoding two-byte
jkummerow@chromium.org [Mon, 14 Oct 2013 13:08:52 +0000 (13:08 +0000)]
Add additional postmortem debugging metadata to support decoding two-byte
strings, sliced strings, and changes to some object property representations.

R=jkummerow@chromium.org

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

Patch from David Pacheco <dap@joyent.com>.

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

10 years agoMove v8_optimized_debug default value to standalone.gypi
jkummerow@chromium.org [Mon, 14 Oct 2013 13:07:41 +0000 (13:07 +0000)]
Move v8_optimized_debug default value to standalone.gypi

This is so that Chromium can have its own overridable default value without colliding with ours.

R=mstarzinger@chromium.org

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

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

10 years agoRemove deprecated v8::preparser namespace.
mstarzinger@chromium.org [Mon, 14 Oct 2013 13:07:20 +0000 (13:07 +0000)]
Remove deprecated v8::preparser namespace.

R=ulan@chromium.org

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

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

10 years agoTrack JS allocations as they arrive with no affection on performance when tracking...
yurys@chromium.org [Mon, 14 Oct 2013 12:41:28 +0000 (12:41 +0000)]
Track JS allocations as they arrive with no affection on performance when tracking is switched off.

BUG=277984
R=hpayer@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

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

10 years agoReenable 17167: "Ensure lower <= upper bound"
rossberg@chromium.org [Mon, 14 Oct 2013 12:14:42 +0000 (12:14 +0000)]
Reenable 17167: "Ensure lower <= upper bound"

Fixed handlification bug (see 2nd patch).

Will handlify Type::Union and Type::Intersect in separate CL.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoUnify handling of position info in AST, part 3
rossberg@chromium.org [Mon, 14 Oct 2013 11:06:15 +0000 (11:06 +0000)]
Unify handling of position info in AST, part 3

* Turn CaseClause into a proper AstNode

R=yangguo@chromium.org
BUG=

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

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

10 years agoUse pages from lower to higher addresses in new space.
hpayer@chromium.org [Mon, 14 Oct 2013 09:48:44 +0000 (09:48 +0000)]
Use pages from lower to higher addresses in new space.

This CL constitutes the invariant that the top pointer in new space is always larger than objects allocated since the last new space garbage collection.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoUnify handling of position info in AST, part 2
rossberg@chromium.org [Mon, 14 Oct 2013 09:41:41 +0000 (09:41 +0000)]
Unify handling of position info in AST, part 2

* Eliminate Conditional::then/else_position and WhileStatement::condition_position.

R=yangguo@chromium.org
BUG=

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

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

10 years agoUnify handling of position info in AST, part 1
rossberg@chromium.org [Mon, 14 Oct 2013 09:24:58 +0000 (09:24 +0000)]
Unify handling of position info in AST, part 1

* AstNode now has a position info.
* Removed various ad-hoc position infos from subclasses (most of which had it).
* Position is always set with the constructor, instead of later.
* Take care to use kNoPosition in the right spots, to not crash the debugger.

Still to do:

* Eliminate Conditional::then/else_position and WhileStatement::condition_position.
* Make CaseClause a proper AstNode and eliminate its custom position.
* If possible, eliminate all uses of kNoPosition.

R=yangguo@chromium.org
BUG=

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

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

10 years agoDrop useless HForceRepresentation in BinaryOpStub.
bmeurer@chromium.org [Mon, 14 Oct 2013 09:22:34 +0000 (09:22 +0000)]
Drop useless HForceRepresentation in BinaryOpStub.

R=svenpanne@chromium.org

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

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

10 years agoReturn the new state from local analysis in flow-engine.
titzer@chromium.org [Mon, 14 Oct 2013 09:22:19 +0000 (09:22 +0000)]
Return the new state from local analysis in flow-engine.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoprofile-generator.* code clean-up
yurys@chromium.org [Mon, 14 Oct 2013 08:57:46 +0000 (08:57 +0000)]
profile-generator.* code clean-up

* Removed unused CodeEntry::CopyData
* Removed unnecessary INLINE macros

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

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

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

10 years agoPrepare push to trunk. Now working on version 3.22.12.
mstarzinger@chromium.org [Mon, 14 Oct 2013 08:42:54 +0000 (08:42 +0000)]
Prepare push to trunk.  Now working on version 3.22.12.

R=bmeurer@chromium.org

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

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

10 years agoHIsStringAndBranch does an implicit SMI check if necessary.
bmeurer@chromium.org [Mon, 14 Oct 2013 08:03:35 +0000 (08:03 +0000)]
HIsStringAndBranch does an implicit SMI check if necessary.

No need to test for SMI first using HIsSmiAndBranch.

R=svenpanne@chromium.org

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

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

10 years agoRemove unnecessary MarkAsDeferredCalling when changing a tagged value to double
haitao.feng@intel.com [Mon, 14 Oct 2013 06:31:01 +0000 (06:31 +0000)]
Remove unnecessary MarkAsDeferredCalling when changing a tagged value to double

R=danno@chromium.org

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

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

10 years agoMIPS: Truncate booleans to 0/1 in truncating t-to-i.
palfia@homejinni.com [Fri, 11 Oct 2013 23:37:56 +0000 (23:37 +0000)]
MIPS: Truncate booleans to 0/1 in truncating t-to-i.

Port r17166 (0a4bf790)

Original commit message:
Truncate booleans to 0/1 in truncating t-to-i.

Thanks to weiliang.lin2@gmail.com for discovering the issue.

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Remove BaseLoad/StoreStub compilers, and the stub-cache interface duplication.
palfia@homejinni.com [Fri, 11 Oct 2013 21:26:10 +0000 (21:26 +0000)]
MIPS: Remove BaseLoad/StoreStub compilers, and the stub-cache interface duplication.

Port r17165 (e3cb6e2e)

BUG=
R=plind44@gmail.com

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

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