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

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

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

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

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

R=mvstanton@chromium.org

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

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

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

TBR=jkummerow@chromium.org

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

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

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

Port r17782 (32e3232)

BUG=
R=plind44@gmail.com

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

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

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

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

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

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

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

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

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

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

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

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

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

TBR=jkummerow@chromium.org

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

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

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

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

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

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

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

R=verwaest@chromium.org
BUG=

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

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

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

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

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

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

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

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

R=ulan@chromium.org

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

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

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

R=ulan@chromium.org

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

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

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

This patch also clean up 64-bits literals handling.

R=bmeurer@chromium.org

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

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

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

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

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

R=mstarzinger@chromium.org

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

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

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

BUG=
R=danno@chromium.org

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

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

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

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

R=mstarzinger@chromium.org

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

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

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

R=jkummerow@chromium.org
BUG=

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

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

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

R=ishell@chromium.org

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TBR=vegorov

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

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

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

Port r17756 (12e5896)

BUG=
R=plind44@gmail.com

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

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

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

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

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

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

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

BUG=
R=danno@chromium.org

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

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

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

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

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

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

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

Port r17755 (bfef904)

BUG=
R=plind44@gmail.com

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

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

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

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

Port r17748 (595bed6)

BUG=
R=plind44@gmail.com

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

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

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

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

Port r17741 (fe14ef8)

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

Zero arguments - very easy

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

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

BUG=
R=plind44@gmail.com

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

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

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

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

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

R=mstarzinger@chromium.org
LOG=N

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

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

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

BUG=
R=ulan@chromium.org

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

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

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

R=ulan@chromium.org

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

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

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

R=ulan@chromium.org

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

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

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

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

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

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

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

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

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

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

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

This reverts commit r17746 for breaking layout tests.

TBR=verwaest@chromium.org
BUG=

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

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

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

BUG=
R=jkummerow@chromium.org

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

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

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

LOG=
BUG=
R=jkummerow@chromium.org

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

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

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

R=ulan@chromium.org
BUG=

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

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

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

R=ulan@chromium.org
BUG=318454

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

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

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

R=danno@chromium.org

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

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

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

This is initial implementation of allocation profiler.

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

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

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

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

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

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

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

Zero arguments - very easy

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

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

BUG=
R=verwaest@chromium.org

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

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

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

R=jkummerow@chromium.org

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

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

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

R=ulan@chromium.org

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

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

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

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

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

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

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

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

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

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

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

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

This reverts commit r17733 for breaking Linux build.

TBR=jkummerow@chromium.org
BUG=

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

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

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

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

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

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

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

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

R=jkummerow@chromium.org
BUG=

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

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

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

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

R=jkummerow@chromium.org
BUG=

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

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

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

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

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

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

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

Port r17680 (cc0b972)

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

BUG=
R=mvstanton@chromium.org

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

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

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

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

R=verwaest@chromium.org

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

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

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

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

R=verwaest@chromium.org

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

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

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

R=rossberg@chromium.org

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

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

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

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

R=jkummerow@chromium.org
BUG=

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

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

10 years agoFix shared library build after r17696
rmcilroy@chromium.org [Wed, 13 Nov 2013 15:32:02 +0000 (15:32 +0000)]
Fix shared library build after r17696

R=ulan@chromium.org

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

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

10 years agoEnable physical memory argument to be passed as an argument to ConfigureResourceConst...
rmcilroy@chromium.org [Wed, 13 Nov 2013 14:05:06 +0000 (14:05 +0000)]
Enable physical memory argument to be passed as an argument to ConfigureResourceConstraintsForPlatform.

BUG=312241
R=svenpanne@chromium.org

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

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

10 years agoFix shared library build after r17692.
ulan@chromium.org [Wed, 13 Nov 2013 12:59:49 +0000 (12:59 +0000)]
Fix shared library build after r17692.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoAdd lexer-shell for running lexer benchmarks.
ulan@chromium.org [Wed, 13 Nov 2013 12:26:09 +0000 (12:26 +0000)]
Add lexer-shell for running lexer benchmarks.

R=jkummerow@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.4.
machenbach@chromium.org [Wed, 13 Nov 2013 12:19:42 +0000 (12:19 +0000)]
Prepare push to trunk.  Now working on version 3.23.4.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoFix warnings
rossberg@chromium.org [Wed, 13 Nov 2013 12:18:52 +0000 (12:18 +0000)]
Fix warnings

R=yangguo@chromium.org
BUG=

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

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

10 years ago[Sheriff] Mark flaky webkit test.
machenbach@chromium.org [Wed, 13 Nov 2013 11:09:47 +0000 (11:09 +0000)]
[Sheriff] Mark flaky webkit test.

TBR=jkummerow@chromium.org
BUG=v8:2989

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

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

10 years agoChange table size for trigonometric functions.
yangguo@chromium.org [Wed, 13 Nov 2013 10:44:28 +0000 (10:44 +0000)]
Change table size for trigonometric functions.

Sunspider verifies floating point results to the last bit, so this is to
make sure that we return the expected result.

R=jkummerow@chromium.org
BUG=

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

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

10 years ago[Sheriff] Mark flaky webkit test.
machenbach@chromium.org [Wed, 13 Nov 2013 10:43:43 +0000 (10:43 +0000)]
[Sheriff] Mark flaky webkit test.

TBR=jkummerow@chromium.org
BUG=v8:2989

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

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

10 years agoProvide private symbols through internal APIs
rossberg@chromium.org [Wed, 13 Nov 2013 10:34:06 +0000 (10:34 +0000)]
Provide private symbols through internal APIs

Adds a notion of private symbols, mainly intended for internal use, especially, self-hosting of built-in types that would otherwise require new C++ classes.

On the JS side (i.e., in built-ins), private properties can be created and accessed through a set of macros:

  NEW_PRIVATE(print_name)
  HAS_PRIVATE(obj, sym)
  GET_PRIVATE(obj, sym)
  SET_PRIVATE(obj, sym, val)
  DELETE_PRIVATE(obj, sym)

In the V8 API, they are accessible via a new class Private, and respective HasPrivate/Get/Private/SetPrivate/DeletePrivate methods on calss Object.

These APIs are designed and restricted such that their implementation can later be replaced by whatever ES7+ will officially provide.

R=yangguo@chromium.org
BUG=

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

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

10 years agoSimplify behavior of code stubs that accept a variable number of stack
mvstanton@chromium.org [Wed, 13 Nov 2013 10:07:04 +0000 (10:07 +0000)]
Simplify behavior of code stubs that accept a variable number of stack
arguments in addition to their parameters. Before, we'd add a special
variable to the environment with the value of a register with the
number of arguments. Now, that register just appears as a parameter to
the code stub.

BUG=
R=verwaest@chromium.org

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

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

10 years agoMIPS: Fix usage of EmitBranch in compare-minus-zero-and-branch.
palfia@homejinni.com [Wed, 13 Nov 2013 02:56:30 +0000 (02:56 +0000)]
MIPS: Fix usage of EmitBranch in compare-minus-zero-and-branch.

Port r17669 (132efad)

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Fix build after r17654.
plind44@gmail.com [Tue, 12 Nov 2013 19:40:56 +0000 (19:40 +0000)]
MIPS: Fix build after r17654.

FullCodeGenerator::EmitMathFloor(CallRuntime* expr) function is not used anywhere and breaks the build.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMIPS: Introduce %_IsMinusZero.
plind44@gmail.com [Tue, 12 Nov 2013 19:05:38 +0000 (19:05 +0000)]
MIPS: Introduce %_IsMinusZero.

Port r17639 (45b8a52)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoFix usage of EmitBranch in compare-minus-zero-and-branch.
yangguo@chromium.org [Tue, 12 Nov 2013 17:18:05 +0000 (17:18 +0000)]
Fix usage of EmitBranch in compare-minus-zero-and-branch.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoRevert "linux: use CLOCK_{REALTIME,MONOTONIC}_COARSE"
jkummerow@chromium.org [Tue, 12 Nov 2013 17:10:30 +0000 (17:10 +0000)]
Revert "linux: use CLOCK_{REALTIME,MONOTONIC}_COARSE"

This reverts r17642 (and follow-up fix r17644) for crashing the Chrome sandbox.

TBR=bmeurer@chromium.org

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

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

10 years agoRemove dead FixedSpace class from the spaces hierarchy.
mstarzinger@chromium.org [Tue, 12 Nov 2013 16:36:14 +0000 (16:36 +0000)]
Remove dead FixedSpace class from the spaces hierarchy.

R=verwaest@chromium.org

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

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

10 years agoMIPS: Add initial hydrogenized NewStringAddStub.
plind44@gmail.com [Tue, 12 Nov 2013 16:24:13 +0000 (16:24 +0000)]
MIPS: Add initial hydrogenized NewStringAddStub.

Port r17635 (14180b1)

Original commit message:
The new stub is enabled via the --new-string-add flag, which is
disabled by default. For now, it's only a stripped down version
of the native StringAddStub, it's still work-in-progress.

BUG=v8:2990
R=plind44@gmail.com

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

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

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

10 years agoFix implementation of compare-minus-zero-and-branch on ia32 and x64.
yangguo@chromium.org [Tue, 12 Nov 2013 15:11:06 +0000 (15:11 +0000)]
Fix implementation of compare-minus-zero-and-branch on ia32 and x64.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoReland "Implement Math.sin, cos and tan using table lookup and spline interpolation."
yangguo@chromium.org [Tue, 12 Nov 2013 14:43:18 +0000 (14:43 +0000)]
Reland "Implement Math.sin, cos and tan using table lookup and spline interpolation."

This relands r17594 with necessary fixes.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoUse %_IsMinusZero where applicable to replace hackery.
yangguo@chromium.org [Tue, 12 Nov 2013 14:20:53 +0000 (14:20 +0000)]
Use %_IsMinusZero where applicable to replace hackery.

R=jarin@chromium.org
BUG=

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

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

10 years agoRemove dead Space::ReserveSpace implementations.
mstarzinger@chromium.org [Tue, 12 Nov 2013 14:15:29 +0000 (14:15 +0000)]
Remove dead Space::ReserveSpace implementations.

R=ishell@chromium.org

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

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

10 years agoAdd more test coverage to push-to-trunk script.
machenbach@chromium.org [Tue, 12 Nov 2013 13:11:15 +0000 (13:11 +0000)]
Add more test coverage to push-to-trunk script.

Ensure that fetching commits works with huge change logs. The verbosity option will help debugging when dcommit hangs.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoCLOCK_REALTIME is 0 on Linux, use -1 for invalid clock id.
bmeurer@chromium.org [Tue, 12 Nov 2013 12:30:59 +0000 (12:30 +0000)]
CLOCK_REALTIME is 0 on Linux, use -1 for invalid clock id.

TBR=svenpanne@chromium.org

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

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

10 years ago[Sheriff] Mark flaky test on windows.
machenbach@chromium.org [Tue, 12 Nov 2013 12:28:48 +0000 (12:28 +0000)]
[Sheriff] Mark flaky test on windows.

BUG=v8:2999
TBR=yangguo@chromium.org

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

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

10 years agolinux: use CLOCK_{REALTIME,MONOTONIC}_COARSE
bmeurer@chromium.org [Tue, 12 Nov 2013 12:18:35 +0000 (12:18 +0000)]
linux: use CLOCK_{REALTIME,MONOTONIC}_COARSE

R=bmeurer@chromium.org

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

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

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

10 years agoFix compilation with GCC 4.8
jkummerow@chromium.org [Tue, 12 Nov 2013 12:09:38 +0000 (12:09 +0000)]
Fix compilation with GCC 4.8

BUG=v8:2767,v8:2149
R=bmeurer@chromium.org

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

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

10 years agoIntroduce %_IsMinusZero.
yangguo@chromium.org [Tue, 12 Nov 2013 11:53:13 +0000 (11:53 +0000)]
Introduce %_IsMinusZero.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoAdd explicit Isolate parameter to External::New
jochen@chromium.org [Tue, 12 Nov 2013 11:44:58 +0000 (11:44 +0000)]
Add explicit Isolate parameter to External::New

We can't deprecate the non-Isolate version yet but soon will.

R=svenpanne@chromium.org, svenpanne@google.com
BUG=266838

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

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

10 years ago[Sheriff] Skip failing test on nacl.
machenbach@chromium.org [Tue, 12 Nov 2013 11:36:20 +0000 (11:36 +0000)]
[Sheriff] Skip failing test on nacl.

TBR=danno@chromium.org
BUG=v8:2998

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

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

10 years agoAdd initial hydrogenized NewStringAddStub.
bmeurer@chromium.org [Tue, 12 Nov 2013 10:21:08 +0000 (10:21 +0000)]
Add initial hydrogenized NewStringAddStub.

The new stub is enabled via the --new-string-add flag, which is
disabled by default. For now, it's only a stripped down version
of the native StringAddStub, it's still work-in-progress.

BUG=v8:2990
R=mvstanton@chromium.org

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

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

10 years agoRefine CopyBytes macro instruction in IA32/X64
svenpanne@chromium.org [Tue, 12 Nov 2013 09:08:51 +0000 (09:08 +0000)]
Refine CopyBytes macro instruction in IA32/X64

Use DWORD/QWORD copy for more short cases

BUG=
R=svenpanne@chromium.org

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

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.3.
machenbach@chromium.org [Tue, 12 Nov 2013 09:03:08 +0000 (09:03 +0000)]
Prepare push to trunk.  Now working on version 3.23.3.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoHave mercy and don't kill the Context::Scope immediately after birth.
svenpanne@chromium.org [Tue, 12 Nov 2013 07:03:59 +0000 (07:03 +0000)]
Have mercy and don't kill the Context::Scope immediately after birth.

BUG=v8::2994
R=dcarney@chromium.org

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

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

10 years agoSimplify current inline allocation tracking mechanism.
mstarzinger@chromium.org [Mon, 11 Nov 2013 18:00:52 +0000 (18:00 +0000)]
Simplify current inline allocation tracking mechanism.

R=yurys@chromium.org

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

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

10 years agoMove old-space allocation tracking into Heap::AllocateRaw.
mstarzinger@chromium.org [Mon, 11 Nov 2013 17:46:08 +0000 (17:46 +0000)]
Move old-space allocation tracking into Heap::AllocateRaw.

R=yurys@chromium.org

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

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

10 years agoFix invalid reuse of weak global handle in GetScriptWrapper.
mstarzinger@chromium.org [Mon, 11 Nov 2013 16:27:36 +0000 (16:27 +0000)]
Fix invalid reuse of weak global handle in GetScriptWrapper.

This fixes a direct usage of a weak global handle in GetScriptWrapper
that just casted it to a strong local handle, while a subsequent GC
might clear it. Handlepocalypse anyone?

R=machenbach@chromium.org
BUG=v8:2988
TEST=mjsunit/regress/regress-2988

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

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

10 years agoFix potential assertion failure.
yangguo@chromium.org [Mon, 11 Nov 2013 15:28:47 +0000 (15:28 +0000)]
Fix potential assertion failure.

R=mvstanton@chromium.org
BUG=

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

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

10 years agoFix potential assertion failure in ConvertCase.
yangguo@chromium.org [Mon, 11 Nov 2013 14:51:56 +0000 (14:51 +0000)]
Fix potential assertion failure in ConvertCase.

IsOneByteRepresentationUnderneath requires the string to be flat, which is not
guaranteed in this case.  Using IsOneByteRepresentation is sufficient here.

R=mvstanton@chromium.org
BUG=

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

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

10 years agoTame mjsunit/fast-literal after fixing allocations.
mstarzinger@chromium.org [Mon, 11 Nov 2013 10:22:46 +0000 (10:22 +0000)]
Tame mjsunit/fast-literal after fixing allocations.

Not that allocations go through Heap::AllocateRaw and actually respect
the allocation timeout, the runtime of this test spiked. This adjusts
the limit to sane values now that the values are actually respected.

R=mvstanton@chromium.org
TEST=mjsunit/fast-literal

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

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

10 years agoRevert "Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available."
bmeurer@chromium.org [Mon, 11 Nov 2013 08:46:45 +0000 (08:46 +0000)]
Revert "Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available."

This reverts commit r17611 for breaking the host toolchain build
for Android (missing clock_gettime() and clock_getres() functions).

TBR=ulan@chromium.org

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

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

10 years agoRemove unused ParserMessage class.
bmeurer@chromium.org [Mon, 11 Nov 2013 08:07:37 +0000 (08:07 +0000)]
Remove unused ParserMessage class.

R=bmeurer@chromium.org

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

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

10 years agoUse CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available.
bmeurer@chromium.org [Mon, 11 Nov 2013 07:49:18 +0000 (07:49 +0000)]
Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available.

R=bmeurer@chromium.org

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

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

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