platform/upstream/v8.git
10 years agoAllow Object::InternalFieldCount and Object::GetAlignedPointerFromInternalField to...
dcarney@chromium.org [Mon, 10 Mar 2014 08:18:57 +0000 (08:18 +0000)]
Allow Object::InternalFieldCount and Object::GetAlignedPointerFromInternalField to be called from Persistent classes

R=svenpanne@chromium.org

BUG=

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

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

10 years agoSkip unreachable blocks when looking for next emitted block.
yangguo@chromium.org [Mon, 10 Mar 2014 07:42:09 +0000 (07:42 +0000)]
Skip unreachable blocks when looking for next emitted block.

Goto does not emit a jump if the target is the next emitted block.
However, if there is an unreachable block between Goto and the jump
target, we still emit a jump even though the unreachable block is
not actually emitted. That jump is unnecessary.

R=jkummerow@chromium.org

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

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

10 years agoAtomic ops: Sync with Chromium and add unit test.
jarin@chromium.org [Mon, 10 Mar 2014 06:43:21 +0000 (06:43 +0000)]
Atomic ops: Sync with Chromium and add unit test.

R=jarin@chromium.org

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

Patch from Cosmin Truta <ctruta@gmail.com>.

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

10 years agoReplace the recursion in PropagateMinusZeroChecks() with a loop and a worklist.
bmeurer@chromium.org [Mon, 10 Mar 2014 05:52:03 +0000 (05:52 +0000)]
Replace the recursion in PropagateMinusZeroChecks() with a loop and a worklist.

Also refactor the related code in preparation for fixing the
range analysis.

BUG=v8:3204
LOG=y
R=svenpanne@chromium.org

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

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

10 years agoReland "Enable Object.observe by default"
rafaelw@chromium.org [Sat, 8 Mar 2014 04:41:06 +0000 (04:41 +0000)]
Reland "Enable Object.observe by default"

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

TBR=rossberg
BUG=v8:2409
LOG=Y

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

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

10 years agoRevert "Enable Object.observe by default"
rafaelw@chromium.org [Sat, 8 Mar 2014 03:54:42 +0000 (03:54 +0000)]
Revert "Enable Object.observe by default"

TBR=rossberg
BUG=

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

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

10 years agoEnable Object.observe by default
rafaelw@chromium.org [Sat, 8 Mar 2014 02:47:53 +0000 (02:47 +0000)]
Enable Object.observe by default

R=rossberg@chromium.org, rossberg
BUG=v8:2409
LOG=Y

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

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

10 years agoMIPS: Consistenly handle power-of-2 divisors in division-like operations.
plind44@gmail.com [Fri, 7 Mar 2014 22:11:52 +0000 (22:11 +0000)]
MIPS: Consistenly handle power-of-2 divisors in division-like operations.

Port r19715 (0d6d244)

Original commit message:
Lithium currently supports 3 division-like operations on integral
operands: "Normal" division (rounding towards zero), flooring division
(rounding towards -Infinity) and modulus calculation (the counterpart
for the "normal" division). For divisors which are a power of 2, one can
efficiently use some bit fiddling to avoid the actual division for such
operations. This CL cleanly splits off these operations into separate
Lithium instructions, making the code much more maintainable and more
consistent across platforms.

There are 2 basic variations of these bit fiddling algorithms: One
involving branches and a seemingly more clever one without branches.
Choosing between the two is not as easy as it seems: Benchmarks (and
probably real-world) programs seem to favor positive dividends,
registers and shifting units are sometimes scarce resources, and branch
prediction is quite good in modern processors. Therefore only the
"normal" division by a power of 2 is implemented in a branch-free
manner, this seems to be the best approach in practice. If this turns
out to be wrong, we can easily and locally change this.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMIPS: Introduce intrinsics for double values in Javascript.
palfia@homejinni.com [Fri, 7 Mar 2014 22:08:20 +0000 (22:08 +0000)]
MIPS: Introduce intrinsics for double values in Javascript.

Port r19704 (120500a)

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

BUG=
R=plind44@gmail.com

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

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

10 years agoFix compiler warning on Win64
yurys@chromium.org [Fri, 7 Mar 2014 17:20:03 +0000 (17:20 +0000)]
Fix compiler warning on Win64

BUG=None
LOG=N
TBR=mstarzinger@chromium.org

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

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

10 years agoA64: Improve constraints on StoreKeyed instructions
m.m.capewell@googlemail.com [Fri, 7 Mar 2014 17:12:47 +0000 (17:12 +0000)]
A64: Improve constraints on StoreKeyed instructions

BUG=
R=ulan@chromium.org

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

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

10 years agoFix compilation on 32-bit platforms after r19728
yurys@chromium.org [Fri, 7 Mar 2014 16:34:10 +0000 (16:34 +0000)]
Fix compilation on 32-bit platforms after r19728

BUG=None
TBR=mstarzinger@chromium.org

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

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

10 years agoAllocationTracker now maintains a map from address range to stack trace that allocate...
yurys@chromium.org [Fri, 7 Mar 2014 16:13:22 +0000 (16:13 +0000)]
AllocationTracker now maintains a map from address range to stack trace that allocated the range. When snapshot is generated the map is used to find construction stack trace for an object using its address.

BUG=chromium:277984
LOG=Y
R=alph@chromium.org, mstarzinger@chromium.org

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

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

10 years agoA64: tidy up the disassembler
rodolph.perfetta@arm.com [Fri, 7 Mar 2014 16:11:50 +0000 (16:11 +0000)]
A64: tidy up the disassembler

R=ulan@chromium.org

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

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

10 years agoMIPS: Symbols for type cells.
plind44@gmail.com [Fri, 7 Mar 2014 15:48:50 +0000 (15:48 +0000)]
MIPS: Symbols for type cells.

Port r19706 (81fd8dd)

Original commit message:
We can make more efficient code to check against type cells in the future if we use symbols, guaranteed not to conflict with user code. Currently, the "symbols" are the hole and undefined. Undefined may come in from the outside.

BUG=
R=mvstanton@chromium.org

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

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

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

10 years agoA64: Clean and improve ArgumentsAdaptorTrampoline.
alexandre.rames@arm.com [Fri, 7 Mar 2014 15:25:28 +0000 (15:25 +0000)]
A64: Clean and improve ArgumentsAdaptorTrampoline.

This patch:
 - uses named registers
 - reserves all the stack space in one go to avoid operations on csp
 - uses LDP/STP to copy the arguments

R=jochen@chromium.org

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

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

10 years agoA64: Handle a few TODOs.
alexandre.rames@arm.com [Fri, 7 Mar 2014 15:20:32 +0000 (15:20 +0000)]
A64: Handle a few TODOs.

Notes about a few TODOs handled in this patch:

* In ProfileEntryHookStub::Generate:
    Stubs are always called with relocation.

* In CreateArrayDispatchOneArgument:
    The branches to registers can't be conditional. We could use a jump table, but
    there are only 6 different kinds so it is likely not worth it.

* In Builtins::Generate_StringConstructCode:
    Rename the argc register (x0) after its meaning changes.
    Remove a TODO: using a macro would not make the code clearer.

* In Generate_JSEntryTrampolineHelper:
    Remove the TODO and raise an internal issue to investigate this.

* In Disassembler::SubstituteBranchTargetField:
    Print the target address, but we don't have more info on the target.

R=ulan@chromium.org

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

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

10 years agoReland "Introduce intrinsics for double values in Javascript."
yangguo@chromium.org [Fri, 7 Mar 2014 14:58:41 +0000 (14:58 +0000)]
Reland "Introduce intrinsics for double values in Javascript."

This relands r19704 with a fix to the test case.

R=svenpanne@chromium.org

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

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

10 years agoRevert "Handle non-power-of-2 divisors in division-like operations", "A64 tweaks...
svenpanne@chromium.org [Fri, 7 Mar 2014 13:11:56 +0000 (13:11 +0000)]
Revert "Handle non-power-of-2 divisors in division-like operations", "A64 tweaks for division-like operations." and "Windows build fix.".

This reverts commit 19719, 19720 and 19721 because
mozilla/ecma/Date/15.9.3.1-1 fails (in release mode only?).

TBR=bmeurer@chromium.org

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

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

10 years agoWindows build fix.
svenpanne@chromium.org [Fri, 7 Mar 2014 12:12:50 +0000 (12:12 +0000)]
Windows build fix.

TBR=ulan@chromium.org

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

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

10 years agoA64 tweaks for division-like operations.
svenpanne@chromium.org [Fri, 7 Mar 2014 12:02:52 +0000 (12:02 +0000)]
A64 tweaks for division-like operations.

R=bmeurer@chromium.org

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

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

10 years agoHandle non-power-of-2 divisors in division-like operations
svenpanne@chromium.org [Fri, 7 Mar 2014 11:44:04 +0000 (11:44 +0000)]
Handle non-power-of-2 divisors in division-like operations

R=bmeurer@chromium.org

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

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

10 years agoAllocation tracker: add separate entry for allocations via V8 API
yurys@chromium.org [Fri, 7 Mar 2014 11:32:01 +0000 (11:32 +0000)]
Allocation tracker: add separate entry for allocations via V8 API

When object is creating via native V8 API calls JS callstack is empty and the allocation is indistinguishable from say compiler allocations. This change adds a separate entry for such allocations.

Since FunctionInfo not necessarily corresponds to a heap object they are now referred to using their index in the list of all FunctionInfos.

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

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

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

10 years agoIntroduce Runtime_GetAllScopesDetails to get all scopes at once for a frame.
ulan@chromium.org [Fri, 7 Mar 2014 11:03:35 +0000 (11:03 +0000)]
Introduce Runtime_GetAllScopesDetails to get all scopes at once for a frame.

This will reduce heavy ScopeIterator instantiations.
Once incorporated into chromium, will give 30% speed boost.

BUG=chromium:340285
LOG=Y
R=ulan@chromium.org, Yang, rossberg, ulan

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

Patch from Andrey Adaykin <aandrey@chromium.org>.

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

10 years agoTest FeedbackVectorPreservedAcrossRecompiles needs crankshaft
mvstanton@chromium.org [Fri, 7 Mar 2014 11:01:03 +0000 (11:01 +0000)]
Test FeedbackVectorPreservedAcrossRecompiles needs crankshaft

The new test didn't recognize that non-sse2 builds on ia32 would
disable crankshaft.

R=yangguo@chromium.org

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

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

10 years agoConsistenly handle power-of-2 divisors in division-like operations
svenpanne@chromium.org [Fri, 7 Mar 2014 10:36:28 +0000 (10:36 +0000)]
Consistenly handle power-of-2 divisors in division-like operations

Lithium currently supports 3 division-like operations on integral operands: "Normal" division (rounding towards zero), flooring division (rounding towards -Infinity) and modulus calculation (the counterpart for the "normal" division). For divisors which are a power of 2, one can efficiently use some bit fiddling to avoid the actual division for such operations. This CL cleanly splits off these operations into separate Lithium instructions, making the code much more maintainable and more consistent across platforms.

There are 2 basic variations of these bit fiddling algorithms: One involving branches and a seemingly more clever one without branches. Choosing between the two is not as easy as it seems: Benchmarks (and probably real-world) programs seem to favor positive dividends, registers and shifting units are sometimes scarce resources, and branch prediction is quite good in modern processors. Therefore only the "normal" division by a power of 2 is implemented in a branch-free manner, this seems to be the best approach in practice. If this turns out to be wrong, we can easily and locally change this.

R=bmeurer@chromium.org

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

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

10 years agoReduce heavy runtime calls from debug mirrors.
ulan@chromium.org [Fri, 7 Mar 2014 10:25:53 +0000 (10:25 +0000)]
Reduce heavy runtime calls from debug mirrors.

Cache results of some heavy calls into C++.
This alone will boost the speed up to 18% on some real world scenarios.

BUG=chromium:340285
LOG=Y
R=ulan@chromium.org, yangguo@chromium.org, Yang, rossberg, ulan, yurys

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

Patch from Andrey Adaykin <aandrey@chromium.org>.

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

10 years agoTrack global cells as special side effects in GVN.
bmeurer@chromium.org [Fri, 7 Mar 2014 10:14:03 +0000 (10:14 +0000)]
Track global cells as special side effects in GVN.

R=mstarzinger@chromium.org

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

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

10 years agoMoved type feedback vector to SharedFunctionInfo.
mvstanton@chromium.org [Fri, 7 Mar 2014 10:12:17 +0000 (10:12 +0000)]
Moved type feedback vector to SharedFunctionInfo.

Type Vector followup: the type vector currently lives off the code object. This CL moves it to the SharedFunctionInfo, facilitating re-use and continued use in crankshafted code if desired.

R=bmeurer@chromium.org

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

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

10 years agoCheck and clear date cache in DateCurrentTime, DateLocalTimezone and getTimezoneOffset.
ulan@chromium.org [Fri, 7 Mar 2014 10:01:00 +0000 (10:01 +0000)]
Check and clear date cache in DateCurrentTime, DateLocalTimezone and getTimezoneOffset.

BUG=142141
LOG=Y
R=rossberg@chromium.org

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

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

10 years agoRevert "Introduce intrinsics for double values in Javascript."
yangguo@chromium.org [Fri, 7 Mar 2014 09:49:28 +0000 (09:49 +0000)]
Revert "Introduce intrinsics for double values in Javascript."

This reverts r19704.

R=mvstanton@chromium.org

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

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

10 years agoRevert "Use Representation::Integer32() for smi types on 32-bit-tagged systems."
verwaest@chromium.org [Fri, 7 Mar 2014 09:29:07 +0000 (09:29 +0000)]
Revert "Use Representation::Integer32() for smi types on 32-bit-tagged systems."

Due to performance regression.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoA64: Minor improvement in FullCodeGenerator::VisitObjectLiteral.
baptiste.afsa@arm.com [Fri, 7 Mar 2014 09:19:51 +0000 (09:19 +0000)]
A64: Minor improvement in FullCodeGenerator::VisitObjectLiteral.

This patch avoid to push some values on the stack when it's not needed.

R=ulan@chromium.org

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

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

10 years agoUpdate .gitignore to new test262 package name.
mstarzinger@chromium.org [Fri, 7 Mar 2014 09:19:48 +0000 (09:19 +0000)]
Update .gitignore to new test262 package name.

R=jkummerow@chromium.org

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

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

10 years agoSymbols for type cells. We can make more efficient code to check against type cells...
mvstanton@chromium.org [Fri, 7 Mar 2014 09:10:18 +0000 (09:10 +0000)]
Symbols for type cells. We can make more efficient code to check against type cells in the future if we use symbols, guaranteed not to conflict with user code. Currently, the "symbols" are the hole and undefined. Undefined may come in from the outside.

BUG=
R=verwaest@chromium.org

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

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

10 years agoA64: Tidy up some TODOs in GenerateRecordCallTarget.
baptiste.afsa@arm.com [Fri, 7 Mar 2014 09:06:24 +0000 (09:06 +0000)]
A64: Tidy up some TODOs in GenerateRecordCallTarget.

R=jochen@chromium.org

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

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

10 years agoIntroduce intrinsics for double values in Javascript.
yangguo@chromium.org [Fri, 7 Mar 2014 09:05:10 +0000 (09:05 +0000)]
Introduce intrinsics for double values in Javascript.

R=svenpanne@chromium.org

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

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

10 years agoRemove duplicates in runtime macros.
yangguo@chromium.org [Fri, 7 Mar 2014 08:49:02 +0000 (08:49 +0000)]
Remove duplicates in runtime macros.

Each item in INLINE_RUNTIME_FUNCTION_LIST had to have a duplicate
entry in RUNTIME_FUNCTION_LIST in order to match the comment.

R=svenpanne@chromium.org

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

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

10 years agoRemove Script::SetData and the script_data parameter from Script::(Compile|New).
marja@chromium.org [Fri, 7 Mar 2014 08:43:54 +0000 (08:43 +0000)]
Remove Script::SetData and the script_data parameter from Script::(Compile|New).

This feature makes it possible to associate data with a script and get it back
when the script is compiled or when an event is handled. It was historically
used by Chromium Dev Tools, but not any more. It is not used by node.js.

Note: this has nothing to do with the preparse data, despite the confusing name.
The preparse data is passed as ScriptData*.

Note 2: This is the same as r19616 ( https://codereview.chromium.org/184403002/ )
with a unused variable fix in bootstrapper.cc.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoHarmony: move implementation of Math.log1p and Math.expm1 to Javascript.
yangguo@chromium.org [Fri, 7 Mar 2014 08:42:10 +0000 (08:42 +0000)]
Harmony: move implementation of Math.log1p and Math.expm1 to Javascript.

R=jarin@chromium.org

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

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

10 years agoia32: Simplify inlined Smi code for SAR.
bmeurer@chromium.org [Fri, 7 Mar 2014 08:36:53 +0000 (08:36 +0000)]
ia32: Simplify inlined Smi code for SAR.

R=svenpanne@chromium.org

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

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

10 years agoUse fast path for sliced and external strings in ConvertCase.
yangguo@chromium.org [Fri, 7 Mar 2014 08:36:18 +0000 (08:36 +0000)]
Use fast path for sliced and external strings in ConvertCase.

R=dcarney@chromium.org
BUG=v8:3180
LOG=N

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

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

10 years agoOptimistically untag the input in tagged-to-i.
bmeurer@chromium.org [Fri, 7 Mar 2014 08:36:13 +0000 (08:36 +0000)]
Optimistically untag the input in tagged-to-i.

Also drop redundant jmp instruction in deferred code.

R=svenpanne@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.6.
jkummerow@chromium.org [Thu, 6 Mar 2014 17:42:58 +0000 (17:42 +0000)]
Prepare push to trunk.  Now working on version 3.25.6.

R=titzer@chromium.org
BUG=

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

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

10 years agoFix for failing asserts in HBoundsCheck code generation on x64: use proper cmp operat...
ishell@chromium.org [Thu, 6 Mar 2014 16:22:47 +0000 (16:22 +0000)]
Fix for failing asserts in HBoundsCheck code generation on x64: use proper cmp operation width instead of asserting that Integer32 values should be zero extended. Similar to chromium:345820.

BUG=349465
LOG=N
R=verwaest@chromium.org

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

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

10 years agoFix HConstants with Smi-ranged HeapNumber values
jkummerow@chromium.org [Thu, 6 Mar 2014 16:21:09 +0000 (16:21 +0000)]
Fix HConstants with Smi-ranged HeapNumber values

BUG=chromium:349878
LOG=y
R=yangguo@chromium.org

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

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

10 years agoMark mjsunit/whitespaces as slow and timeout for a64.
ulan@chromium.org [Thu, 6 Mar 2014 14:15:40 +0000 (14:15 +0000)]
Mark mjsunit/whitespaces as slow and timeout for a64.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoBugfix for 349874: we incorrectly believe we saw a growing store
mvstanton@chromium.org [Thu, 6 Mar 2014 13:07:51 +0000 (13:07 +0000)]
Bugfix for 349874: we incorrectly believe we saw a growing store

When we set an out of bounds array index, the index might be so large that
it causes the array to go to dictionary mode. It's better to avoid
"learning" that this was a growing store in that case.

This fix also partially reverts a fix for bug 347543, as this fix is
comprehensive and satisfies that repro case as well (partial revert of
v19591).

BUG=349874
LOG=N
R=verwaest@chromium.org

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

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

10 years agoOnly use the non-strict-arguments-stub if the store site is non-strict.
verwaest@chromium.org [Thu, 6 Mar 2014 12:19:06 +0000 (12:19 +0000)]
Only use the non-strict-arguments-stub if the store site is non-strict.

BUG=349874
LOG=N
R=mvstanton@chromium.org

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

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

10 years agoLet HTransitionElementsKind take part in RestoreActualValues phase
jkummerow@chromium.org [Thu, 6 Mar 2014 12:13:49 +0000 (12:13 +0000)]
Let HTransitionElementsKind take part in RestoreActualValues phase

BUG=chromium:349853
LOG=n
R=mvstanton@chromium.org

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

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

10 years agoFix VPrintHelper used on Windows.
vegorov@chromium.org [Thu, 6 Mar 2014 11:55:47 +0000 (11:55 +0000)]
Fix VPrintHelper used on Windows.

VPrintHelper would silently ignore the stream given to it if application is in GUI mode (no console is attached) and redirect output to the debugger via OutputDebugString.

Such redirection makes sense only if passed stream is either stderr or stdout. Don't redirect any other stream to the debugger.

Reorder clauses in VPrintHelper to make condition more readable.

BUG=
R=yangguo@chromium.org

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

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

10 years agoRemove outdated assertion scope.
yangguo@chromium.org [Thu, 6 Mar 2014 11:51:53 +0000 (11:51 +0000)]
Remove outdated assertion scope.

R=jkummerow@chromium.org
BUG=349870
LOG=N

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

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

10 years agoAdd quickcheck targets for modes, builds and arches.
bmeurer@chromium.org [Thu, 6 Mar 2014 10:05:33 +0000 (10:05 +0000)]
Add quickcheck targets for modes, builds and arches.

R=svenpanne@chromium.org

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

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

10 years agoFix issues with JSON stringify replacer array
yangguo@chromium.org [Thu, 6 Mar 2014 09:50:53 +0000 (09:50 +0000)]
Fix issues with JSON stringify replacer array

If the replacer array contains a property key we should include the
property even if the property is non enumerable or if it is a non own
property.

String and Number wrappers in the replacer array should be treated as
string and number values.

R=yangguo@chromium.org
BUG=v8:3200, v8:3201
LOG=Y

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

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

10 years agoUse Representation::Integer32() for smi types on 32-bit-tagged systems.
verwaest@chromium.org [Thu, 6 Mar 2014 09:49:10 +0000 (09:49 +0000)]
Use Representation::Integer32() for smi types on 32-bit-tagged systems.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoAlso delete force representations that have no uses.
verwaest@chromium.org [Thu, 6 Mar 2014 09:47:27 +0000 (09:47 +0000)]
Also delete force representations that have no uses.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.5.
titzer@chromium.org [Wed, 5 Mar 2014 15:10:32 +0000 (15:10 +0000)]
Prepare push to trunk.  Now working on version 3.25.5.

R=hpayer@chromium.org
TBR=hpayer@chromium.org

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

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

10 years agoIgnore slots buffer overflow when recording entries of the allocation sites scratchpad.
hpayer@chromium.org [Wed, 5 Mar 2014 14:04:21 +0000 (14:04 +0000)]
Ignore slots buffer overflow when recording entries of the allocation sites scratchpad.

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

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

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

10 years agoFix materialization of captured objects in adapted arguments.
jarin@chromium.org [Wed, 5 Mar 2014 12:57:18 +0000 (12:57 +0000)]
Fix materialization of captured objects in adapted arguments.

R=mstarzinger@chromium.org
BUG=348512
LOG=N

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

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

10 years agoDeoptimization fix for HPushArgument.
jarin@chromium.org [Wed, 5 Mar 2014 12:45:46 +0000 (12:45 +0000)]
Deoptimization fix for HPushArgument.

HPushArgument should never be used in a simulation environment
because the slot addresses for the arguments can be off (e.g.,
due to on-stack arguments object of an inlined caller).

R=mstarzinger@chromium.org
BUG=v8:3183
LOG=N

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

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

10 years agoHandle exception when retrieving toJSON function in JSON.stringify.
yangguo@chromium.org [Wed, 5 Mar 2014 10:54:35 +0000 (10:54 +0000)]
Handle exception when retrieving toJSON function in JSON.stringify.

R=mvstanton@chromium.org
BUG=349335
LOG=N

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

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

10 years agoAdd --es-staging flag
rossberg@chromium.org [Wed, 5 Mar 2014 10:07:07 +0000 (10:07 +0000)]
Add --es-staging flag

...and remove some obsolete ones.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agox64: Fix LMathMinMax for constant Smi right-hand operands
jkummerow@chromium.org [Wed, 5 Mar 2014 09:49:07 +0000 (09:49 +0000)]
x64: Fix LMathMinMax for constant Smi right-hand operands

BUG=chromium:349079
LOG=y
R=titzer@chromium.org

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

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

10 years agoPrint properly signed displacement in disassembler.
mstarzinger@chromium.org [Wed, 5 Mar 2014 09:28:26 +0000 (09:28 +0000)]
Print properly signed displacement in disassembler.

R=titzer@chromium.org
BUG=

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

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

10 years agoFix issue with setting __proto__ on a value
mstarzinger@chromium.org [Wed, 5 Mar 2014 08:58:38 +0000 (08:58 +0000)]
Fix issue with setting __proto__ on a value

LOG=N
BUG=v8:3172
R=mstarzinger@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

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

10 years agoRefactoring: Make script dependencies more object-oriented in push and merge scripts.
machenbach@chromium.org [Tue, 4 Mar 2014 23:27:27 +0000 (23:27 +0000)]
Refactoring: Make script dependencies more object-oriented in push and merge scripts.

- Connect the top-level scripts via inheritance and remove top-level functions
- Options and option processing can be extended from base to subclass script

This CL is split off from https://codereview.chromium.org/173983002/

BUG=
R=ulan@chromium.org

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

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

10 years agoMIPS: Remove all uses of field-tracking flags that do not make decisions but are...
plind44@gmail.com [Tue, 4 Mar 2014 20:22:56 +0000 (20:22 +0000)]
MIPS: Remove all uses of field-tracking flags that do not make decisions but are subject to existing information.

Port r19650 (a51b043)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMIPS: Push safepoint registers in deferred number-to-i/u only on-demand.
plind44@gmail.com [Tue, 4 Mar 2014 20:16:24 +0000 (20:16 +0000)]
MIPS: Push safepoint registers in deferred number-to-i/u only on-demand.

Port r19649 (49f8c2d)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoA64: Move veneer emission checking in the Assembler.
alexandre.rames@arm.com [Tue, 4 Mar 2014 15:54:12 +0000 (15:54 +0000)]
A64: Move veneer emission checking in the Assembler.

The previous heuristic would break as a significant amount of code could be
generated without checking for veneer emission.
The veneer emission is now done in the Assembler, in a very similar way to
constant pool emission.

BUG=v8:3177
LOG=N
R=ulan@chromium.org

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

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

10 years agoPrint properly signed displacement in IA32 disassembler.
mstarzinger@chromium.org [Tue, 4 Mar 2014 13:07:00 +0000 (13:07 +0000)]
Print properly signed displacement in IA32 disassembler.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoRefactoring to clean up duplicate code in Heap::Allocate methods.
mvstanton@chromium.org [Tue, 4 Mar 2014 12:51:40 +0000 (12:51 +0000)]
Refactoring to clean up duplicate code in Heap::Allocate methods.

R=hpayer@chromium.org

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

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

10 years agoRemove all uses of field-tracking flags that do not make decisions but are subject...
verwaest@chromium.org [Tue, 4 Mar 2014 12:48:17 +0000 (12:48 +0000)]
Remove all uses of field-tracking flags that do not make decisions but are subject to existing information.

BUG=
R=ishell@chromium.org

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

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

10 years agoPush safepoint registers in deferred number-to-i/u only on-demand.
bmeurer@chromium.org [Tue, 4 Mar 2014 12:45:00 +0000 (12:45 +0000)]
Push safepoint registers in deferred number-to-i/u only on-demand.

R=svenpanne@chromium.org

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

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

10 years agoAllow objects with "" properties to stay fast.
verwaest@chromium.org [Tue, 4 Mar 2014 12:43:05 +0000 (12:43 +0000)]
Allow objects with "" properties to stay fast.

R=danno@chromium.org

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

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

10 years agoDon't disable hash randomization option in predictable mode.
ishell@chromium.org [Tue, 4 Mar 2014 12:42:43 +0000 (12:42 +0000)]
Don't disable hash randomization option in predictable mode.

We don't need it because
1) hash randomization uses random generator whose results depend on --random-seed option which is set in predictable mode.
2) disabling hash randomization triggers assert in snapshot mode.

R=svenpanne@chromium.org

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

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

10 years agoFix HStringAdd::PrintDataTo().
bmeurer@chromium.org [Tue, 4 Mar 2014 12:34:04 +0000 (12:34 +0000)]
Fix HStringAdd::PrintDataTo().

R=svenpanne@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.4.
titzer@chromium.org [Tue, 4 Mar 2014 09:05:48 +0000 (09:05 +0000)]
Prepare push to trunk.  Now working on version 3.25.4.

R=hpayer@chromium.org
TBR=hpayer@chromium.org

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

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

10 years agoFix HCheckValue::Canonicalize wrt uninitialized HConstant unique.
yangguo@chromium.org [Tue, 4 Mar 2014 08:08:08 +0000 (08:08 +0000)]
Fix HCheckValue::Canonicalize wrt uninitialized HConstant unique.

R=titzer@chromium.org
BUG=348280
LOG=N

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

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

10 years agoAdd try server configuration for 'git cl try'.
machenbach@chromium.org [Tue, 4 Mar 2014 01:29:27 +0000 (01:29 +0000)]
Add try server configuration for 'git cl try'.

BUG=
R=phajdan.jr@chromium.org

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

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

10 years agoAdd coverage analysis to push and merge script tests.
machenbach@chromium.org [Mon, 3 Mar 2014 20:17:03 +0000 (20:17 +0000)]
Add coverage analysis to push and merge script tests.

The coverage analysis must live in an extra file in order to analyze the scripts when being imported.

TEST=tools/push-to-trunk/script_test.py
R=ulan@chromium.org

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

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

10 years agoConsolidate RecordWriteFromCode and RecordWriteForEvacuationFromCode.
hpayer@chromium.org [Mon, 3 Mar 2014 13:27:59 +0000 (13:27 +0000)]
Consolidate RecordWriteFromCode and RecordWriteForEvacuationFromCode.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoMake EvictFromOptimizedCodeMap more robust.
ulan@chromium.org [Mon, 3 Mar 2014 13:12:31 +0000 (13:12 +0000)]
Make EvictFromOptimizedCodeMap more robust.

This removes all occurences of the specified optimized code from the optimized
code map.

R=titzer@chromium.org, yangguo@chromium.org

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

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

10 years agoFix A64 after 19635.
ulan@chromium.org [Mon, 3 Mar 2014 11:44:14 +0000 (11:44 +0000)]
Fix A64 after 19635.

TBR=yangguo@chromium.org

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

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

10 years agoFix symbol printing in migration / generalization tracing
verwaest@chromium.org [Mon, 3 Mar 2014 11:41:24 +0000 (11:41 +0000)]
Fix symbol printing in migration / generalization tracing

BUG=
R=ishell@chromium.org

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

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

10 years agoClear optimized code cache in shared function info when code gets deoptimized.
ulan@chromium.org [Mon, 3 Mar 2014 11:11:39 +0000 (11:11 +0000)]
Clear optimized code cache in shared function info when code gets deoptimized.

This adds a pointer to the shared function info into deoptimization data of an optimized code. Whenever the code is deoptimized, it clears the cache in the shared function info.

This fixes the problem when the optimized function dies in new space GC before the code is deoptimized due to code dependency and before the optimized code cache is cleared in old space GC (see mjsunit/regress/regress-343609.js).

This partially reverts r19603 because we need to be able to evict specific code from the optimized code cache.

BUG=343609
LOG=Y
TEST=mjsunit/regress/regress-343609.js
R=yangguo@chromium.org

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

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

10 years agoRefactoring: Long option names in push and merge scripts.
machenbach@chromium.org [Fri, 28 Feb 2014 21:49:51 +0000 (21:49 +0000)]
Refactoring: Long option names in push and merge scripts.

This CL is split off from https://codereview.chromium.org/173983002/

R=ulan@chromium.org

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

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

10 years agoFix ChangeLog entries.
commit-bot@chromium.org [Fri, 28 Feb 2014 19:48:29 +0000 (19:48 +0000)]
Fix ChangeLog entries.

NOTREECHECKS=true
BUG=

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

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

10 years agoFix line distance in push and merge scripts.
commit-bot@chromium.org [Fri, 28 Feb 2014 19:45:28 +0000 (19:45 +0000)]
Fix line distance in push and merge scripts.

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

10 years agoMove all Harmony-only tests to harmony/
rossberg@chromium.org [Fri, 28 Feb 2014 14:26:32 +0000 (14:26 +0000)]
Move all Harmony-only tests to harmony/

R=jkummerow@chromium.org
BUG=

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

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

10 years agoUpdate README about where the test262 files are downloaded from.
jochen@chromium.org [Fri, 28 Feb 2014 14:16:50 +0000 (14:16 +0000)]
Update README about where the test262 files are downloaded from.

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

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

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

10 years agoCheck elimination did not mark some dead blocks.
ishell@chromium.org [Fri, 28 Feb 2014 14:16:38 +0000 (14:16 +0000)]
Check elimination did not mark some dead blocks.

R=danno@chromium.org

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

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

10 years agoRevert "Remove Script::SetData and the script_data parameter from Script::(Compile...
marja@chromium.org [Fri, 28 Feb 2014 14:09:52 +0000 (14:09 +0000)]
Revert "Remove Script::SetData and the script_data parameter from Script::(Compile|New)."

This reverts revision 19616.

BUG=
TBR=marja@chromium.org,svenpanne@chromium.org

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

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

10 years agoFix ARM/MIPS versions of r19607
jkummerow@chromium.org [Fri, 28 Feb 2014 14:08:39 +0000 (14:08 +0000)]
Fix ARM/MIPS versions of r19607

kNoCodeAgeSequenceLength is in bytes on ia32/x64, but in instructions on arm/mips.

R=ulan@chromium.org

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

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

10 years agoRemove Script::SetData and the script_data parameter from Script::(Compile|New).
marja@chromium.org [Fri, 28 Feb 2014 13:54:14 +0000 (13:54 +0000)]
Remove Script::SetData and the script_data parameter from Script::(Compile|New).

This feature makes it possible to associate data with a script and get it back
when the script is compiled or when an event is handled. It was historically
used by Chromium Dev Tools, but not any more. It is not used by node.js.

Note: this has nothing to do with the preparse data, despite the confusing name.
The preparse data is passed as ScriptData*.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoRemove bogus assertion regarding code marked for deopt.
yangguo@chromium.org [Fri, 28 Feb 2014 13:16:26 +0000 (13:16 +0000)]
Remove bogus assertion regarding code marked for deopt.

TBR=ulan@chromium.org

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

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

10 years agoFixed constant folding for Math.clz32.
svenpanne@chromium.org [Fri, 28 Feb 2014 13:07:10 +0000 (13:07 +0000)]
Fixed constant folding for Math.clz32.

LOG=y
BUG=347906
R=yangguo@chromium.org

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

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

10 years agoMake a64.release a quickcheck target
jochen@chromium.org [Fri, 28 Feb 2014 12:46:13 +0000 (12:46 +0000)]
Make a64.release a quickcheck target

I marked all tests as slow that take more than a minute on my machine.
With this, a64.release.quickcheck takes two minutes which is about as
fast as arm.optdebug.quickcheck.

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

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

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

10 years agoFail early when re-entering code that has been patched for lazy deopt
jkummerow@chromium.org [Fri, 28 Feb 2014 12:41:25 +0000 (12:41 +0000)]
Fail early when re-entering code that has been patched for lazy deopt

R=ulan@chromium.org

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

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

10 years agoUpdate test262 to get test data from github
jochen@chromium.org [Fri, 28 Feb 2014 12:34:12 +0000 (12:34 +0000)]
Update test262 to get test data from github

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

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

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

10 years agoWhen upgrading the test data twice, don't bail out because of an existing backup
jochen@chromium.org [Fri, 28 Feb 2014 12:32:54 +0000 (12:32 +0000)]
When upgrading the test data twice, don't bail out because of an existing backup

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

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

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