platform/upstream/v8.git
10 years agodelete eternal handle blocks correctly
dcarney@chromium.org [Tue, 6 Aug 2013 06:34:54 +0000 (06:34 +0000)]
delete eternal handle blocks correctly

TBR=mstarzinger@chromium.org
BUG=

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

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

10 years agoMIPS: Migrate instance of deprecated maps in HCheckMaps.
palfia@homejinni.com [Tue, 6 Aug 2013 01:12:10 +0000 (01:12 +0000)]
MIPS: Migrate instance of deprecated maps in HCheckMaps.

Port r16057 (b73ae514)

Original commit message:
Currently only direct map checks are supported. Otherwise only polymorphic cases with a generic fallback behave properly, regular polymorphic cases still need to be adapted.

BUG=

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

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

10 years agoMake some constants' meaning clear for X64
haitao.feng@intel.com [Tue, 6 Aug 2013 00:09:01 +0000 (00:09 +0000)]
Make some constants' meaning clear for X64

R=danno@chromium.org

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

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

10 years agoMIPS: Replace HCheckPrototypeMaps by explicit map checks of constant values.
palfia@homejinni.com [Mon, 5 Aug 2013 17:04:10 +0000 (17:04 +0000)]
MIPS: Replace HCheckPrototypeMaps by explicit map checks of constant values.

Port r16055 (7567e57f)

BUG=

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

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

10 years agoChange environment padding value to value with smi representation.
verwaest@chromium.org [Mon, 5 Aug 2013 16:53:28 +0000 (16:53 +0000)]
Change environment padding value to value with smi representation.

BUG=
R=ulan@chromium.org

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

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

10 years agoUse first hit when dumping heap constants.
mstarzinger@chromium.org [Mon, 5 Aug 2013 16:47:45 +0000 (16:47 +0000)]
Use first hit when dumping heap constants.

This makes sure that the first hit is used when dumping heap constants
and hence "TheHoleValue" is not overwritten with other roots that are
initialized to the hole as well.

R=verwaest@chromium.org

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

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

10 years agoMigrate instance of deprecated maps in HCheckMaps.
verwaest@chromium.org [Mon, 5 Aug 2013 16:42:39 +0000 (16:42 +0000)]
Migrate instance of deprecated maps in HCheckMaps.

Currently only direct map checks are supported. Otherwise only polymorphic cases with a generic fallback behave properly, regular polymorphic cases still need to be adapted.

R=danno@chromium.org

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

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

10 years agoAdd "benchmarks" test suite
jkummerow@chromium.org [Mon, 5 Aug 2013 14:54:09 +0000 (14:54 +0000)]
Add "benchmarks" test suite

R=machenbach@chromium.org

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

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

10 years agoReplace HCheckPrototypeMaps by explicit map checks of constant values.
verwaest@chromium.org [Mon, 5 Aug 2013 13:45:16 +0000 (13:45 +0000)]
Replace HCheckPrototypeMaps by explicit map checks of constant values.

R=danno@chromium.org

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

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

10 years agoMore cleanup regarding the maximum non-large object allocation size.
hpayer@chromium.org [Mon, 5 Aug 2013 12:52:53 +0000 (12:52 +0000)]
More cleanup regarding the maximum non-large object allocation size.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoIntroduce Push and Pop register macro instructions for all platforms
haitao.feng@intel.com [Mon, 5 Aug 2013 12:43:04 +0000 (12:43 +0000)]
Introduce Push and Pop register macro instructions for all platforms

R=danno@chromium.org

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

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

10 years agoRevert "Return start/end profiling time in microseconds instead of milliseconds"
bmeurer@chromium.org [Mon, 5 Aug 2013 12:27:12 +0000 (12:27 +0000)]
Revert "Return start/end profiling time in microseconds instead of milliseconds"

This reverts r16049 for breaking build on windows.

TBR=svenpanne@chromium.org,machenbach@chromium.org

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

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

10 years agoReturn start/end profiling time in microseconds instead of milliseconds
yurys@chromium.org [Mon, 5 Aug 2013 11:48:24 +0000 (11:48 +0000)]
Return start/end profiling time in microseconds instead of milliseconds

The start and end time are now measured in microseconds and the type is int64_t. This way it seems more natural as we are going to support submilisecond sampling rate soon. Also it fixes cctest/test-cpu-profiler/ProfileStartEndTime test failure caused by comparison between long double and double.

TEST=cctest/test-cpu-profiler/ProfileStartEndTime
BUG=v8:2824
R=alph@chromium.org, bmeurer@chromium.org

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

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

10 years agoExpose JSON parser through V8 API
jochen@chromium.org [Mon, 5 Aug 2013 11:14:46 +0000 (11:14 +0000)]
Expose JSON parser through V8 API

BUG=v8:2821
TEST=cctest/test-api/JSONParse
R=yangguo@chromium.org

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

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

10 years agofix 16045
dcarney@chromium.org [Mon, 5 Aug 2013 10:04:50 +0000 (10:04 +0000)]
fix 16045

TBR=mstarzinger@chromium.org
BUG=

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

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

10 years agointroduce eternal handles
dcarney@chromium.org [Mon, 5 Aug 2013 09:46:23 +0000 (09:46 +0000)]
introduce eternal handles

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoAdd explicit transition flag to HStoreNamedField.
mstarzinger@chromium.org [Mon, 5 Aug 2013 09:35:18 +0000 (09:35 +0000)]
Add explicit transition flag to HStoreNamedField.

R=bmeurer@chromium.org

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

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

10 years agoAdd notice when parallel recompilation is disabled by tracing.
yangguo@chromium.org [Mon, 5 Aug 2013 09:28:22 +0000 (09:28 +0000)]
Add notice when parallel recompilation is disabled by tracing.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoDisable parallel recompilation for --trace-hydrogen-stubs.
yangguo@chromium.org [Mon, 5 Aug 2013 09:02:47 +0000 (09:02 +0000)]
Disable parallel recompilation for --trace-hydrogen-stubs.

R=bmeurer@chromium.org
BUG=

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

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

10 years agoFix the loop-builder to tag the entire body as part of the loop.
verwaest@chromium.org [Mon, 5 Aug 2013 08:59:55 +0000 (08:59 +0000)]
Fix the loop-builder to tag the entire body as part of the loop.

R=danno@chromium.org

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

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

10 years agoMake GlobalHandle::NodeBlock deletable
dcarney@chromium.org [Mon, 5 Aug 2013 07:34:29 +0000 (07:34 +0000)]
Make GlobalHandle::NodeBlock deletable

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoAdd start and end profiling time to v8::CpuProfile
yurys@chromium.org [Mon, 5 Aug 2013 07:17:08 +0000 (07:17 +0000)]
Add start and end profiling time to v8::CpuProfile

I'm going to change CPU profiler API and deprecate GetSelfTime, GetTotalTime and GetTotalSamplesCount on CpuProfileNode as all of those values are derived from self samples count and sampling rate. The sampling rate in turn is calculate based on the profiling duration so having start/end time and total sample count is enough for calculating smpling rate.

BUG=267595
R=alph@chromium.org, bmeurer@chromium.org

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

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

10 years agoRemove unused UNARY_MINUS builtin.
svenpanne@chromium.org [Mon, 5 Aug 2013 07:00:38 +0000 (07:00 +0000)]
Remove unused UNARY_MINUS builtin.

R=bmeurer@chromium.org

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

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

10 years agoIsNearDeath needs to include pending nodes
dcarney@chromium.org [Mon, 5 Aug 2013 06:58:48 +0000 (06:58 +0000)]
IsNearDeath needs to include pending nodes

R=svenpanne@chromium.org
BUG=

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

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

10 years agoClean some unuse code of unary negation
svenpanne@chromium.org [Mon, 5 Aug 2013 06:34:26 +0000 (06:34 +0000)]
Clean some unuse code of unary negation

R=svenpanne@chromium.org

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

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

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

10 years agoMIPS: Avoid redundant smi check for Math.abs
palfia@homejinni.com [Fri, 2 Aug 2013 18:35:19 +0000 (18:35 +0000)]
MIPS: Avoid redundant smi check for Math.abs

Port r16021 (d79f4450)

BUG=

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

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

10 years agoIntroduce PopReturnAddressTo and PushReturnAddressFrom macro-assembler instructions...
haitao.feng@intel.com [Fri, 2 Aug 2013 13:42:02 +0000 (13:42 +0000)]
Introduce PopReturnAddressTo and PushReturnAddressFrom macro-assembler instructions for X64

R=danno@chromium.org

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

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

10 years agoAdd size_t length argument to v8::ArrayBuffer::Allocator::Free.
dslomov@chromium.org [Fri, 2 Aug 2013 13:03:06 +0000 (13:03 +0000)]
Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
The previous implementation of Free is a deprecated overload now.

R=mstarzinger@chromium.org

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

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

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

10 years agoRevert "Add size_t length argument to v8::ArrayBuffer::Allocator::Free."
dslomov@chromium.org [Fri, 2 Aug 2013 12:56:53 +0000 (12:56 +0000)]
Revert "Add size_t length argument to v8::ArrayBuffer::Allocator::Free."

This reverts r16031 for breaking shared build.

TBR=mstarzinger@chromium.org

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

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

10 years agoAdd size_t length argument to v8::ArrayBuffer::Allocator::Free.
dslomov@chromium.org [Fri, 2 Aug 2013 12:19:22 +0000 (12:19 +0000)]
Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
The previous implementation of Free is a deprecated overload now.

R=mstarzinger@chromium.org

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

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

10 years agoRegression test for issue 2813 / r16008
jkummerow@chromium.org [Fri, 2 Aug 2013 12:17:19 +0000 (12:17 +0000)]
Regression test for issue 2813 / r16008

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

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

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

10 years agoReplaced unary negation by multiplication with -1.
svenpanne@chromium.org [Fri, 2 Aug 2013 11:56:35 +0000 (11:56 +0000)]
Replaced unary negation by multiplication with -1.

This fixes a deopt loop in the Epic Citadel demo and removes some code. Apart from that, this change is performance-neutral.

When we do something similar for BIT_NOT, the whole UnaryOp stuff can go away.

R=jkummerow@chromium.org

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

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

10 years agoStore transition on HStoreNamedField as HConstant.
mstarzinger@chromium.org [Fri, 2 Aug 2013 11:24:55 +0000 (11:24 +0000)]
Store transition on HStoreNamedField as HConstant.

This allows optimization passes that run in the parallel compiler thread
to use the map that a store transitions to for further analysis even
though the map handle cannot be dereferenced.

R=jkummerow@chromium.org

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

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

10 years agoRemove instructions and infrastructure related to IDEFs that is now obsolete (and...
titzer@chromium.org [Fri, 2 Aug 2013 11:17:26 +0000 (11:17 +0000)]
Remove instructions and infrastructure related to IDEFs that is now obsolete (and was never turned on). The new bounds check elimination phase doesn't make use of these features, as they were the first parts of the previous approach which was never completed.
BUG=
R=danno@chromium.org

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

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

10 years agoMake optimized debug builds link against debug CRT.
machenbach@chromium.org [Fri, 2 Aug 2013 10:59:23 +0000 (10:59 +0000)]
Make optimized debug builds link against debug CRT.

We recently had some XP issues on chromium.win after https://codereview.chromium.org/19384011/.

This might fix it - quote: "The most likely cause of the problem is a gyp (or similar) change that resulted in v8.dll linking against the release version of the crt (for a debug build). There are two MS VC related files: the crt and the c++ std lib (MSVCR100.DLL and MSVCP100D.DLL). The former is set to release, the latter to debug."

I am not entirely sure if this change fits to the linker options for debug level 2.

R=jkummerow@chromium.org

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

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

10 years agoAdd new Harmony methods to Array.prototype object.
mstarzinger@chromium.org [Fri, 2 Aug 2013 10:57:48 +0000 (10:57 +0000)]
Add new Harmony methods to Array.prototype object.

Array.prototype.find
Array.prototype.findIndex

http://people.mozilla.org/~jorendorff/es6-draft.html

BUG=v8:2776,v8:2777
TEST=mjsunit/harmony/array-find,mjsunit/harmony/array-findindex
R=mstarzinger@chromium.org

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

Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.

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

10 years agoExtract hardcoded error strings into a single place and replace them with enum.
loislo@chromium.org [Fri, 2 Aug 2013 09:53:11 +0000 (09:53 +0000)]
Extract hardcoded error strings into a single place and replace them with enum.

I'd like to propagate bailout reason to cpu profiler.
So I need to save it into heap object SharedFunctionInfo.
But:
1) all bailout reason strings spread across all the sources.
2) they are native strings and if I convert them into String then I may have a performance issue.
3) one byte is enough for 184 bailout reasons. Otherwise we need 8 bytes for the pointer.

Also I think it would be nice to have error strings collected in one place.
In that case we will get additional benefits:

It allows us to keep this set of messages under control.
It gives us a chance to internationalize them.
It slightly reduces the binary footprint.

From the other hand the developers have to add new strings into that enum.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoFix Mac build after r16022.
mstarzinger@chromium.org [Fri, 2 Aug 2013 09:35:44 +0000 (09:35 +0000)]
Fix Mac build after r16022.

R=jkummerow@chromium.org

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

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

10 years agoGenerate grokdump constants with 'make grokdump' now.
mstarzinger@chromium.org [Fri, 2 Aug 2013 09:02:02 +0000 (09:02 +0000)]
Generate grokdump constants with 'make grokdump' now.

R=svenpanne@chromium.org

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

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

10 years agoAvoid redundant smi check for Math.abs
jkummerow@chromium.org [Fri, 2 Aug 2013 08:59:02 +0000 (08:59 +0000)]
Avoid redundant smi check for Math.abs

R=jkummerow@chromium.org

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

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

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

10 years agoUse test(reg, imm) when the operand is a register on ia32
jkummerow@chromium.org [Fri, 2 Aug 2013 08:55:26 +0000 (08:55 +0000)]
Use test(reg, imm) when the operand is a register on ia32

R=jkummerow@chromium.org

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

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

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

10 years agoTSan: Move definition of AtomicOps_x86CPUFeatureStruct into v8::internal namespace
jkummerow@chromium.org [Fri, 2 Aug 2013 08:52:59 +0000 (08:52 +0000)]
TSan: Move definition of AtomicOps_x86CPUFeatureStruct into v8::internal namespace

This matches other atomicops_internals_* files.

R=ulan@chromium.org

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

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

10 years agoRevert windows-specific part of r15937 for debug level 1.
machenbach@chromium.org [Fri, 2 Aug 2013 07:58:23 +0000 (07:58 +0000)]
Revert windows-specific part of r15937 for debug level 1.

The change in r15937 might have broken a mozilla test under windows. See https://codereview.chromium.org/19384011/

Each case of debug 0,1,2 is now stated explicitly for better clarity in the msvs section. This causes some minor code duplications, which we can squeeze again after toolchain.gypi is in a stable state.

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

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

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

10 years agoDisable test in object observe because of bug 2774.
hpayer@chromium.org [Fri, 2 Aug 2013 06:40:50 +0000 (06:40 +0000)]
Disable test in object observe because of bug 2774.

BUG=
R=verwaest@chromium.org

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

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

10 years agoReenable tests that need to access the default timezone.
jochen@chromium.org [Thu, 1 Aug 2013 19:43:06 +0000 (19:43 +0000)]
Reenable tests that need to access the default timezone.

It's now available via builtins.

BUG=v8:2475
R=mstarzinger@chromium.org

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

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

10 years agoMove helper methods from i18n extension into runtime.
jochen@chromium.org [Thu, 1 Aug 2013 19:25:27 +0000 (19:25 +0000)]
Move helper methods from i18n extension into runtime.

BUG=v8:2475
R=mstarzinger@chromium.org

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

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

10 years agoFix incorrect #ifdef statements for I18N support.
jochen@chromium.org [Thu, 1 Aug 2013 19:21:16 +0000 (19:21 +0000)]
Fix incorrect #ifdef statements for I18N support.

R=jkummerow@chromium.org

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

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

10 years agoRemove test that v8Intl symbol exists, as we don't define it anymore.
jochen@chromium.org [Thu, 1 Aug 2013 19:20:42 +0000 (19:20 +0000)]
Remove test that v8Intl symbol exists, as we don't define it anymore.

R=jkummerow@chromium.org

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

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

10 years agoNever define 'DEBUG' for non-v8 code
jochen@chromium.org [Thu, 1 Aug 2013 19:20:01 +0000 (19:20 +0000)]
Never define 'DEBUG' for non-v8 code

R=jkummerow@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.20.13.
danno@chromium.org [Thu, 1 Aug 2013 16:57:58 +0000 (16:57 +0000)]
Prepare push to trunk.  Now working on version 3.20.13.

R=jkummerow@chromium.org

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

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

10 years agoRemove buggy ToNumber truncation
jkummerow@chromium.org [Thu, 1 Aug 2013 16:12:31 +0000 (16:12 +0000)]
Remove buggy ToNumber truncation

BUG=v8:2813
R=danno@chromium.org

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

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

10 years agoFix mozilla regress-398085-01 failure on windows.
ulan@chromium.org [Thu, 1 Aug 2013 12:55:19 +0000 (12:55 +0000)]
Fix mozilla regress-398085-01 failure on windows.

Make sure that all stack pages are mapped before accessing them.

R=jkummerow@chromium.org

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

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

10 years agoCalling Map etc without new should throw TypeError
dslomov@chromium.org [Thu, 1 Aug 2013 09:18:28 +0000 (09:18 +0000)]
Calling Map etc without new should throw TypeError

Even though we do not yet allow Map, Set, WeakMap and WeakSet to be
subclassed we need to ensure that we do not allow them to be [[Call]]ed
to allow them to be subclassed in the future.

BUG=v8:2819
R=dslomov@chromium.org, mstarzinger@chromium.org

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

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

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

10 years agoSpeed-up 'new TypedArray(arrayLike)'.
dslomov@chromium.org [Thu, 1 Aug 2013 08:52:21 +0000 (08:52 +0000)]
Speed-up 'new TypedArray(arrayLike)'.

Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.

Allocate backing store uninitialized in cases when we can guarantee
complete initialization.

R=bmeurer@chromium.org

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

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

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

10 years agoPretenure heap number in high promotino mode if a store requires a mutable heap numbe...
hpayer@chromium.org [Thu, 1 Aug 2013 08:49:27 +0000 (08:49 +0000)]
Pretenure heap number in high promotino mode if a store requires a mutable heap number to be allocated.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoRevert "Speed-up 'new TypedArray(arrayLike)'."
dslomov@chromium.org [Thu, 1 Aug 2013 08:47:39 +0000 (08:47 +0000)]
Revert "Speed-up 'new TypedArray(arrayLike)'."

This reverts commit r15998 for breaking NaCl build.

TBR=bmeurer@chromium.org

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

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

10 years agoGet rid of HStringLength.
bmeurer@chromium.org [Thu, 1 Aug 2013 08:42:47 +0000 (08:42 +0000)]
Get rid of HStringLength.

Use HLoadNamedField to load the string length field instead.

Depends on: https://codereview.chromium.org/21488002

R=svenpanne@chromium.org

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

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

10 years agoFix printing of Harmony Set and Map instances.
mstarzinger@chromium.org [Thu, 1 Aug 2013 08:36:21 +0000 (08:36 +0000)]
Fix printing of Harmony Set and Map instances.

R=dslomov@chromium.org

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

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

10 years agoCleaning up HAllocate space and double alignment selection.
hpayer@chromium.org [Thu, 1 Aug 2013 08:34:36 +0000 (08:34 +0000)]
Cleaning up HAllocate space and double alignment selection.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoFix broken HCheckInstanceType::Canonicalize().
bmeurer@chromium.org [Thu, 1 Aug 2013 08:27:46 +0000 (08:27 +0000)]
Fix broken HCheckInstanceType::Canonicalize().

R=svenpanne@chromium.org

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

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

10 years agoSpeed-up 'new TypedArray(arrayLike)'.
dslomov@chromium.org [Thu, 1 Aug 2013 08:19:51 +0000 (08:19 +0000)]
Speed-up 'new TypedArray(arrayLike)'.

Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.

Allocate backing store uninitialized in cases when we can guarantee
complete initialization.

R=bmeurer@chromium.org

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

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

10 years agoFix a crash when generating forward jumps to labels at very high assembly offsets
bmeurer@chromium.org [Thu, 1 Aug 2013 08:13:08 +0000 (08:13 +0000)]
Fix a crash when generating forward jumps to labels at very high assembly offsets

The first jump to a specific label was marked as jump to absolute
position -4. This value was stored in the assembly as a branch to a
offset (-4 - (instruction offset + 8)). The offset is only 24 bit
long on ARM. Thus instruction offsets higher than 2^23 - 12 would overflow
the offset.

Fix by denoting the first jump to a label by storing the jump
instruction location as the target. This will result in offset of -8,
which of course always fits in the branch instruction.

BUG=2736
TEST=cctest/test-assembler-arm/17
R=bmeurer@chromium.org, svenpanne@chromium.org

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

Patch from Kimmo Kinnunen <kkinnunen@nvidia.com>.

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

10 years agoPrint HAllocate flags in --trace-hydrogen.
hpayer@chromium.org [Thu, 1 Aug 2013 07:56:36 +0000 (07:56 +0000)]
Print HAllocate flags in --trace-hydrogen.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoRemove elements transitions from the transition array.
verwaest@chromium.org [Wed, 31 Jul 2013 17:08:50 +0000 (17:08 +0000)]
Remove elements transitions from the transition array.

This is preparatory work for reordering the transition tree. Since elements transitions will be at the root of the transition tree, runtime access to them is slow since we have to walk the transition tree backwards first. Hence remove the optimization that promoted them to a special field, requiring a pointer (mostly NULL) in every non-simple transition array.

R=titzer@chromium.org

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

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

10 years agoMake sure that bce creates constants of right type
danno@chromium.org [Wed, 31 Jul 2013 16:41:51 +0000 (16:41 +0000)]
Make sure that bce creates constants of right type

R=verwaest@chromium.org

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

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

10 years agoFix overzealous casting that erroneously lead to ASSERTs
danno@chromium.org [Wed, 31 Jul 2013 15:40:24 +0000 (15:40 +0000)]
Fix overzealous casting that erroneously lead to ASSERTs

R=verwaest@chromium.org

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

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

10 years agoImprove instruction creating/adding shorthand in HGraphBuilder
danno@chromium.org [Wed, 31 Jul 2013 14:58:39 +0000 (14:58 +0000)]
Improve instruction creating/adding shorthand in HGraphBuilder

Add multi-argument templates for New, NewUncasted, Add and AddUncasted that
call boilerplate HInstruction::New methods rather than the constructor directly.
This allows for automatic passing of the zone and context for instructions that
need them.

R=verwaest@chromium.org

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

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

10 years agoStores to external references don't need write barriers.
bmeurer@chromium.org [Wed, 31 Jul 2013 13:45:51 +0000 (13:45 +0000)]
Stores to external references don't need write barriers.

This also applies to stores with an external field representation.

Also cleans up the CreateAllocationSiteStub.

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

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

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

10 years agoUpdate V8's dependencies:
jochen@chromium.org [Wed, 31 Jul 2013 13:41:12 +0000 (13:41 +0000)]
Update V8's dependencies:

GYP: Correctly handle GCC_C_LANGUAGE_STANDARD 'ansi'
ICU: Use the correct assembly file when cross compiling from Mac to Android

BUG=none
R=jkummerow@chromium.org

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

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

10 years agoFix SHL when shift amount is zero for arm and mips.
ulan@chromium.org [Wed, 31 Jul 2013 12:46:54 +0000 (12:46 +0000)]
Fix SHL when shift amount is zero for arm and mips.

BUG=v8:2817
R=titzer@chromium.org
TEST=octane

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

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

10 years agoAdd common artifacts to .gitignore.
bmeurer@chromium.org [Wed, 31 Jul 2013 12:38:43 +0000 (12:38 +0000)]
Add common artifacts to .gitignore.

R=jkummerow@chromium.org

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

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

10 years agoReimplement TypedArray.set in Javascript.
dslomov@chromium.org [Wed, 31 Jul 2013 12:10:49 +0000 (12:10 +0000)]
Reimplement TypedArray.set in Javascript.

Implement all cases for TypedArray.set in Javascript, except the case
where memmove is used. This makes it many times faster.

R=bmeurer@chromium.org

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

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

10 years agoAvoid the use of set_type() in instruction constructors.
bmeurer@chromium.org [Wed, 31 Jul 2013 10:56:46 +0000 (10:56 +0000)]
Avoid the use of set_type() in instruction constructors.

R=titzer@chromium.org

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

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

10 years agoGet rid of HLinkObjectInList.
bmeurer@chromium.org [Wed, 31 Jul 2013 10:47:44 +0000 (10:47 +0000)]
Get rid of HLinkObjectInList.

R=mvstanton@chromium.org

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

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

10 years agoRemove special handling of fields in combination with elements transitions in Crankshaft.
verwaest@chromium.org [Wed, 31 Jul 2013 10:08:05 +0000 (10:08 +0000)]
Remove special handling of fields in combination with elements transitions in Crankshaft.

Instead first try to keep ICs monomorphic if elements kinds generalize. If that fails, use standard polymorphic handling. The Try*PolymorphicAsMonomorphic methods will automatically produce code similar to the previous approach using CheckMapsWithTransitions.

BUG=
R=hpayer@chromium.org

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

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

10 years agoCompile fix for older GCCs.
bmeurer@chromium.org [Wed, 31 Jul 2013 10:03:59 +0000 (10:03 +0000)]
Compile fix for older GCCs.

TBR=titzer@chromium.org

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

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

10 years agoFix HType handling for HConstant with external references.
bmeurer@chromium.org [Wed, 31 Jul 2013 09:38:37 +0000 (09:38 +0000)]
Fix HType handling for HConstant with external references.

We cannot use set_type() with HType::None() in the HConstant
constructor, since set_type() asserts that the new type is a
subtype of the previous one, but HType::None() is not a subtype
of HType::Tagged() which is the initial type set by the HValue
constructor.

This patch adds an optional type parameter to the HValue,
HInstruction and HTemplateInstruction constructors.

R=titzer@chromium.org

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

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

10 years agoEagerly set the types of many kinds of hydrogen instructions.
titzer@chromium.org [Wed, 31 Jul 2013 09:29:30 +0000 (09:29 +0000)]
Eagerly set the types of many kinds of hydrogen instructions.

BUG=
R=verwaest@chromium.org

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

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

10 years agoAdd gate keeper logic to presubmit commit check.
machenbach@chromium.org [Wed, 31 Jul 2013 09:16:31 +0000 (09:16 +0000)]
Add gate keeper logic to presubmit commit check.

R=jkummerow@chromium.org

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

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

10 years agoFix stale unhandlified value in JSObject::SetPropertyForResult.
mstarzinger@chromium.org [Wed, 31 Jul 2013 08:51:18 +0000 (08:51 +0000)]
Fix stale unhandlified value in JSObject::SetPropertyForResult.

R=danno@chromium.org
BUG=chromium:265894

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

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

10 years agoRevert the latest set of platform changes.
bmeurer@chromium.org [Wed, 31 Jul 2013 07:51:46 +0000 (07:51 +0000)]
Revert the latest set of platform changes.

Revert "Fix NaCl build."
Revert "Revert target arch detection."
Revert "Fix typo."
Revert "Simplify implementation of Mutex."
Revert "Fix for older clang releases that lack __has_extension."
Revert "Reland initial bits of "Implement correct OS and CC detection.""

TBR=danno@chromium.org,svenpanne@chromium.org

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

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

10 years agomake Intl non-enumerable
dcarney@chromium.org [Wed, 31 Jul 2013 07:17:34 +0000 (07:17 +0000)]
make Intl non-enumerable

R=jochen@chromium.org, svenpanne@chromium.org
BUG=

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

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

10 years agoFree slots buffer entries when tearing down the heap.
hpayer@chromium.org [Wed, 31 Jul 2013 07:17:03 +0000 (07:17 +0000)]
Free slots buffer entries when tearing down the heap.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoFix NaCl build.
bmeurer@chromium.org [Wed, 31 Jul 2013 07:08:52 +0000 (07:08 +0000)]
Fix NaCl build.

TBR=machenbach@chromium.org,svenpanne@chromium.org

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

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

10 years agoRevert target arch detection.
bmeurer@chromium.org [Wed, 31 Jul 2013 07:04:30 +0000 (07:04 +0000)]
Revert target arch detection.

TBR=svenpanne@chromium.org

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

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

10 years agoAllocation space decisions are precisely made in hydrogen.
hpayer@chromium.org [Wed, 31 Jul 2013 07:03:16 +0000 (07:03 +0000)]
Allocation space decisions are precisely made in hydrogen.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoFix typo.
bmeurer@chromium.org [Wed, 31 Jul 2013 06:56:02 +0000 (06:56 +0000)]
Fix typo.

R=svenpanne@chromium.org

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

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

10 years agoSkip recently added test associated with bug id
machenbach@chromium.org [Wed, 31 Jul 2013 06:36:29 +0000 (06:36 +0000)]
Skip recently added test associated with bug id

BUG=v8:2815
R=mstarzinger@chromium.org

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

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

11 years agoIntroduce StackOperandForReturnAddress operand for X64 to access return address in...
haitao.feng@intel.com [Wed, 31 Jul 2013 00:19:32 +0000 (00:19 +0000)]
Introduce StackOperandForReturnAddress operand for X64 to access return address in the stack

R=danno@chromium.org

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

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

11 years agoIntroduce the SetFp function in StackHandler
haitao.feng@intel.com [Tue, 30 Jul 2013 23:59:55 +0000 (23:59 +0000)]
Introduce the SetFp function in StackHandler

The FP setting is different for X32 than the other platforms as
kFPOnStackSize is double the kPointerSize and we have to clear the
higher 32 bits to 0.

R=danno@chromium.org

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

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

11 years agoMIPS: Fix flaky mjsunit/harmony/generators-iteration test failure.
palfia@homejinni.com [Tue, 30 Jul 2013 22:28:54 +0000 (22:28 +0000)]
MIPS: Fix flaky mjsunit/harmony/generators-iteration test failure.

This fixes the result allocation in EmitCreateIteratorResult,
when a GC is required. The Runtime call returns the allocated
pointer in v0 register, but the rest of the function was
expected it in a0 register. Refactored the function to use v0 for
the result in the whole function.

BUG=

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

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

11 years agoSimplify implementation of Mutex.
bmeurer@chromium.org [Tue, 30 Jul 2013 17:12:49 +0000 (17:12 +0000)]
Simplify implementation of Mutex.

Also moves Mutex to its own file mutex.{cc,h}.

R=svenpanne@chromium.org

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

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

11 years agoPipe a script's CORS status through V8 during compilation.
mstarzinger@chromium.org [Tue, 30 Jul 2013 17:05:50 +0000 (17:05 +0000)]
Pipe a script's CORS status through V8 during compilation.

In order to properly sanitize exception data during a 'window.onerror'
handler, we need to know whether a script was served with proper CORS
headers at the time it was loaded into V8. This patch adds a single bool
to ScriptOrigin, and pipes that through the compiler to land on the
Script object. We can then retrieve the parameter when calling the
embedder's exception callback.

BUG=crbug.com/159566
R=mstarzinger@chromium.org

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

Patch from Mike West <mkwst@chromium.org>.

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

11 years agoReland "Compilation type and state allocate an unnecessary Smi on v8::Script" (r15940).
mstarzinger@chromium.org [Tue, 30 Jul 2013 17:00:05 +0000 (17:00 +0000)]
Reland "Compilation type and state allocate an unnecessary Smi on v8::Script" (r15940).

It turns out that this change is not related to the test failures.

TBR=danno@chromium.org

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

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

11 years agoMark maps as unstable if their instances potentially transition away.
verwaest@chromium.org [Tue, 30 Jul 2013 16:33:58 +0000 (16:33 +0000)]
Mark maps as unstable if their instances potentially transition away.
Use this as a prerequisite for adding code dependencies.

R=ulan@chromium.org

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

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

11 years agoAdd new Harmony methods to String.prototype object.
mstarzinger@chromium.org [Tue, 30 Jul 2013 16:33:08 +0000 (16:33 +0000)]
Add new Harmony methods to String.prototype object.

String.prototype.repeat
String.prototype.startsWith
String.prototype.endsWith
String.prototype.contains

http://people.mozilla.org/~jorendorff/es6-draft.html

BUG=v8:2796,v8:2797,v8:2798,v8:2799
TEST=mjsunit/string-repeat,mjsunit/string-startswith,mjsunit/string-endswith,mjsunit/string-contains
R=mstarzinger@chromium.org

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

Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.

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

11 years agoFix for older clang releases that lack __has_extension.
bmeurer@chromium.org [Tue, 30 Jul 2013 14:49:44 +0000 (14:49 +0000)]
Fix for older clang releases that lack __has_extension.

R=mstarzinger@chromium.org

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

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

11 years agoDon't generate a shift left by one if can deoptimize on ia32 and arm and mips.
titzer@chromium.org [Tue, 30 Jul 2013 13:30:03 +0000 (13:30 +0000)]
Don't generate a shift left by one if can deoptimize on ia32 and arm and mips.

BUG=
R=verwaest@chromium.org

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

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

11 years agoRevert 15940: "Compilation type and state allocate an unnecessary Smi on v8::Script."
danno@chromium.org [Tue, 30 Jul 2013 11:24:11 +0000 (11:24 +0000)]
Revert 15940: "Compilation type and state allocate an unnecessary Smi on v8::Script."

Due to Mozilla test failures on Win32 debug

TBR=mstarzinger@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.12.
danno@chromium.org [Tue, 30 Jul 2013 11:08:56 +0000 (11:08 +0000)]
Prepare push to trunk.  Now working on version 3.20.12.

R=ulan@chromium.org

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

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