platform/upstream/v8.git
10 years agoMaybehandlification of EnsureJSArrayWithWritableFastElements().
ishell@chromium.org [Fri, 4 Apr 2014 08:17:23 +0000 (08:17 +0000)]
Maybehandlification of EnsureJSArrayWithWritableFastElements().

R=yangguo@chromium.org

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

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

10 years agoMake auto-roll script also roll patched trunk revisions.
machenbach@chromium.org [Fri, 4 Apr 2014 07:23:45 +0000 (07:23 +0000)]
Make auto-roll script also roll patched trunk revisions.

This will allow the auto-roll bot to roll the last trunk patches, e.g. "Version 3.4.5.1 ...".

BUG=
R=jarin@chromium.org

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

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

10 years agoTypePrint() does not depend on Object::Print().
bmeurer@chromium.org [Fri, 4 Apr 2014 07:21:59 +0000 (07:21 +0000)]
TypePrint() does not depend on Object::Print().

R=svenpanne@chromium.org

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

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

10 years agoReland "Fixed environment assignment for LCheckNonSmi."
svenpanne@chromium.org [Fri, 4 Apr 2014 07:07:34 +0000 (07:07 +0000)]
Reland "Fixed environment assignment for LCheckNonSmi."

Now with (hopefully correct) ARM64 part... :-}

R=bmeurer@chromium.org

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

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

10 years agoGet rid of the TRANSITION PropertyType and consistently use CanHoldValue().
bmeurer@chromium.org [Fri, 4 Apr 2014 04:49:07 +0000 (04:49 +0000)]
Get rid of the TRANSITION PropertyType and consistently use CanHoldValue().

R=verwaest@chromium.org

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

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

10 years agoMIPS: Check in Lithium that allocation size in Smi range.
palfia@homejinni.com [Thu, 3 Apr 2014 23:34:28 +0000 (23:34 +0000)]
MIPS: Check in Lithium that allocation size in Smi range.

Port r20458 (984d99c9)

Oirginal commit message:
This is to avoid triggering an assertion from Smi::FromInt. The
generated code is unreachable, so it is not a real bug.

BUG=
R=plind44@gmail.com

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

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

10 years agoDo not mark prototype transitions link as weak in heap snapshot.
alph@chromium.org [Thu, 3 Apr 2014 16:32:59 +0000 (16:32 +0000)]
Do not mark prototype transitions link as weak in heap snapshot.

R=ulan@chromium.org

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

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

10 years agoHarden IsMoreGeneralElementsKindTransition.
dslomov@chromium.org [Thu, 3 Apr 2014 16:25:05 +0000 (16:25 +0000)]
Harden IsMoreGeneralElementsKindTransition.

R=verwaest@chromium.org

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

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

10 years agoFurther Kraken regression recover due to handlification.
ishell@chromium.org [Thu, 3 Apr 2014 14:42:56 +0000 (14:42 +0000)]
Further Kraken regression recover due to handlification.

R=yangguo@chromium.org

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

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

10 years agoARM64: Fixes and more support for FRINT<X> instructions.
alexandre.rames@arm.com [Thu, 3 Apr 2014 14:30:44 +0000 (14:30 +0000)]
ARM64: Fixes and more support for FRINT<X> instructions.

Fix simulation and tests for the [-0.5, -0.0[ range for FRINTA and FRINTN, and
add support for FRINTM.

R=ulan@chromium.org

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

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

10 years agoARM64: Fix the atomic type width in the 64bit Acquire_Load().
alexandre.rames@arm.com [Thu, 3 Apr 2014 14:28:40 +0000 (14:28 +0000)]
ARM64: Fix the atomic type width in the 64bit Acquire_Load().

R=ulan@chromium.org

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

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

10 years agoReturn MaybeHandle from JsonParser.
yangguo@chromium.org [Thu, 3 Apr 2014 14:25:59 +0000 (14:25 +0000)]
Return MaybeHandle from JsonParser.

R=ishell@chromium.org

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

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

10 years agoRevert r20476.
jochen@chromium.org [Thu, 3 Apr 2014 14:04:05 +0000 (14:04 +0000)]
Revert r20476.

Reason for revert: crashes arm64.debug cctest

Fatal error in ../src/hydrogen-instructions.h, line 2968
CHECK(value->IsCheckHeapObject()) failed

Fixed environment assignment for LCheckNonSmi.

TBR=svenpanne@chromium.org
BUG=

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

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

10 years agoFix bug entry and quotation marks in merge-to-branch.
machenbach@chromium.org [Thu, 3 Apr 2014 13:01:22 +0000 (13:01 +0000)]
Fix bug entry and quotation marks in merge-to-branch.

This fixes usage of quotation marks inside titles of merged patches.
This also fixes aggregation of empty or "none" BUG entries.

BUG=
R=jarin@chromium.org

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

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

10 years agoAdd merged patches to commit title in merge-to-branch.
machenbach@chromium.org [Thu, 3 Apr 2014 12:57:33 +0000 (12:57 +0000)]
Add merged patches to commit title in merge-to-branch.

This makes it easier to grep for patches in title in the revision history.

This also removes the redundant information into which branch was merged, as this can be derived from the version number in the title now.

BUG=
R=jarin@chromium.org

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

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

10 years agoReturn MaybeHandle from NewExternalStringFrom*.
yangguo@chromium.org [Thu, 3 Apr 2014 12:41:37 +0000 (12:41 +0000)]
Return MaybeHandle from NewExternalStringFrom*.

R=ishell@chromium.org

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

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

10 years agoReland "Return MaybeHandle from NewConsString."
yangguo@chromium.org [Thu, 3 Apr 2014 12:30:37 +0000 (12:30 +0000)]
Reland "Return MaybeHandle from NewConsString."

R=ishell@chromium.org

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

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

10 years agoReturn MaybeHandle from NewRaw???String.
yangguo@chromium.org [Thu, 3 Apr 2014 12:30:08 +0000 (12:30 +0000)]
Return MaybeHandle from NewRaw???String.

R=ishell@chromium.org

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

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

10 years agoRevert r20474
mvstanton@chromium.org [Thu, 3 Apr 2014 12:27:24 +0000 (12:27 +0000)]
Revert r20474

This reverts commit r20474 due to an x64 release issue.

R=yangguo@chromium.org

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

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

10 years agoUse premordial Object.isSealed/isFrozen in builtins.
mstarzinger@chromium.org [Thu, 3 Apr 2014 12:23:35 +0000 (12:23 +0000)]
Use premordial Object.isSealed/isFrozen in builtins.

R=mvstanton@chromium.org

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

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

10 years agoFixed environment assignment for LCheckNonSmi.
svenpanne@chromium.org [Thu, 3 Apr 2014 12:12:28 +0000 (12:12 +0000)]
Fixed environment assignment for LCheckNonSmi.

This fixes browsing facebook.com with a debug version of Chrome.

TBR=ulan@chromium.org

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

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

10 years agoRevert "Return MaybeHandle from NewConsString."
yangguo@chromium.org [Thu, 3 Apr 2014 12:09:14 +0000 (12:09 +0000)]
Revert "Return MaybeHandle from NewConsString."

This reverts r20473.

R=mvstanton@chromium.org

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

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

10 years agoFunction calls are handled with a LoadIC and a FunctionCallStub. This works well...
mvstanton@chromium.org [Thu, 3 Apr 2014 11:41:03 +0000 (11:41 +0000)]
Function calls are handled with a LoadIC and a FunctionCallStub. This works well, but we can create a platform to gather custom feedback by inventing a CallIC. CallIC takes a JSFunction as input, maintains UNINIT/MONO/MEGA state in a feedback slot, and engages in limited patching for the most efficient code.

The change creates a degrade in NBody tests, but a follow-on CL addresses it by using this custom feedback platform to give a 45% improvement.

R=verwaest@chromium.org

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

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

10 years agoReturn MaybeHandle from NewConsString.
yangguo@chromium.org [Thu, 3 Apr 2014 11:38:01 +0000 (11:38 +0000)]
Return MaybeHandle from NewConsString.

R=ishell@chromium.org

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

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

10 years agoWhen freezing global object, go through the property cell
jarin@chromium.org [Thu, 3 Apr 2014 10:43:56 +0000 (10:43 +0000)]
When freezing global object, go through the property cell

R=verwaest@chromium.org
BUG=

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

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

10 years agoFix approximation of CanDeoptimize() and other small store elimination fixes.
svenpanne@chromium.org [Thu, 3 Apr 2014 10:39:04 +0000 (10:39 +0000)]
Fix approximation of CanDeoptimize() and other small store elimination fixes.

R=titzer@chromium.org

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

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

10 years agoAdd version number to commit message in merge-to-branch.
machenbach@chromium.org [Thu, 3 Apr 2014 09:42:18 +0000 (09:42 +0000)]
Add version number to commit message in merge-to-branch.

This is a step towards automatically rolling arbitrary trunk revisions into Chromium.

This also deprecates the bash scripts as they now start to divert.

BUG=
R=jarin@chromium.org

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

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

10 years agoPartial recover from performance degradation after handlification of ElementsAccessor...
ishell@chromium.org [Thu, 3 Apr 2014 09:12:59 +0000 (09:12 +0000)]
Partial recover from performance degradation after handlification of ElementsAccessor::CopyElements (r20312).

R=yangguo@chromium.org

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

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

10 years agoAdd API for adding and removing CallCompletedCallbacks to Isolate
jochen@chromium.org [Thu, 3 Apr 2014 07:51:27 +0000 (07:51 +0000)]
Add API for adding and removing CallCompletedCallbacks to Isolate

The API currently just forwards to the global methods. A follow-up
change will move the callback handling to the Isolate and deprecate the
global versions.

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org
LOG=n

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

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

10 years agoMake build/gyp_v8 cope with ninja on linux
jochen@chromium.org [Thu, 3 Apr 2014 07:40:32 +0000 (07:40 +0000)]
Make build/gyp_v8 cope with ninja on linux

ninja doesn't support/need the output dir and generator dir flags

BUG=v8:3252
R=machenbach@chromium.org
LOG=n

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

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

10 years agoDo not generate LDummyUse instruction for HCapturedObject
jarin@chromium.org [Thu, 3 Apr 2014 07:35:13 +0000 (07:35 +0000)]
Do not generate LDummyUse instruction for HCapturedObject

LDummyUse confuses the register allocator (since there is no definition
for the use).

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoCheck in Lithium that allocation size in Smi range.
jarin@chromium.org [Thu, 3 Apr 2014 07:04:46 +0000 (07:04 +0000)]
Check in Lithium that allocation size in Smi range.

This is to avoid triggering an assertion from Smi::FromInt. The
generated code is unreachable, so it is not a real bug.

R=ulan@chromium.org
BUG=

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

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

10 years agoIntroduce MaybeHandle to police exception checking in handlified code.
yangguo@chromium.org [Thu, 3 Apr 2014 05:57:43 +0000 (05:57 +0000)]
Introduce MaybeHandle to police exception checking in handlified code.

R=ishell@chromium.org

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

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

10 years agoMIPS: Check that environments assigned via AssignEnvironment are actually used.
palfia@homejinni.com [Wed, 2 Apr 2014 22:18:22 +0000 (22:18 +0000)]
MIPS: Check that environments assigned via AssignEnvironment are actually used.

Port r20430 (e9457854)

Original commit message:
Check that environments assigned via AssignEnvironment are actually used.

Removed some temporary marker comments on the way.

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Make invalid LHSs that are calls late errors.
palfia@homejinni.com [Wed, 2 Apr 2014 22:17:25 +0000 (22:17 +0000)]
MIPS: Make invalid LHSs that are calls late errors.

Port r20428 (7a071766)

Original commit message:
Necessary for web legacy compatibility.

Also fold in additional strict mode checks into LHS checks.
Minor constness clean-ups on the way.

BUG=
R=rossberg@chromium.org

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

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

10 years agoARM64: Fix and improve atomic operations.
alexandre.rames@arm.com [Wed, 2 Apr 2014 16:37:33 +0000 (16:37 +0000)]
ARM64: Fix and improve atomic operations.

* The 'compare and swap' operations should enforce memory ordering even when
  the exchange does not occur.

* The exclusive monitor does not need to be cleared by CLREX if a LDRX was
  not followed by a matching STREX.

* Use LDAR and STLR where possible.

* Use the 'I' and 'J' constraints to hint for constants valid for immediate
  values.

R=jfb@chromium.org, rmcilroy@chromium.org, ulan@chromium.org

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

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

10 years agoRemove dead Object::GetPropertyOrFail.
mstarzinger@chromium.org [Wed, 2 Apr 2014 16:36:16 +0000 (16:36 +0000)]
Remove dead Object::GetPropertyOrFail.

R=verwaest@chromium.org

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

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

10 years agoARM64: Avoid iterating through unresolved branches information when unnecessary.
alexandre.rames@arm.com [Wed, 2 Apr 2014 16:31:58 +0000 (16:31 +0000)]
ARM64: Avoid iterating through unresolved branches information when unnecessary.

R=ulan@chromium.org

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

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

10 years agoARM64: Fix cctest/test-disasm-arm64/debug on real hardware.
alexandre.rames@arm.com [Wed, 2 Apr 2014 15:45:13 +0000 (15:45 +0000)]
ARM64: Fix cctest/test-disasm-arm64/debug on real hardware.

Without the 'BREAK' parameter, no instruction is generated when we are not
running with the simulator.

R=ulan@chromium.org

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

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

10 years agoFix assert in Runtime_SetIsObserved.
mstarzinger@chromium.org [Wed, 2 Apr 2014 14:47:26 +0000 (14:47 +0000)]
Fix assert in Runtime_SetIsObserved.

R=rafaelw@chromium.org
BUG=chromium:352664
LOG=N

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

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

10 years agoReplace CopyMap(constructor->initial_map()) by Map::Create(constructor)
verwaest@chromium.org [Wed, 2 Apr 2014 13:30:36 +0000 (13:30 +0000)]
Replace CopyMap(constructor->initial_map()) by Map::Create(constructor)

BUG=
R=ulan@chromium.org

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

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

10 years agotools: strip whitespace in gen-postmortem-metadata.py
jkummerow@chromium.org [Wed, 2 Apr 2014 13:04:08 +0000 (13:04 +0000)]
tools: strip whitespace in gen-postmortem-metadata.py

R=jkummerow@chromium.org

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

Patch from Ben Noordhuis <ben@strongloop.com>.

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

10 years agoRemove Apple-only GCC_WARN_ABOUT_MISSING_NEWLINE
jkummerow@chromium.org [Wed, 2 Apr 2014 12:55:22 +0000 (12:55 +0000)]
Remove Apple-only GCC_WARN_ABOUT_MISSING_NEWLINE

R=jkummerow@chromium.org

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

Patch from Ben Noordhuis <ben@strongloop.com>.

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

10 years agoMake stray 'return' an early error
rossberg@chromium.org [Wed, 2 Apr 2014 12:38:01 +0000 (12:38 +0000)]
Make stray 'return' an early error

As required by the spec, and implemented by other browsers.

(Plus minor clean-up for redeclaration TypeErrors.)

R=marja@chromium.org
BUG=
LOG=Y

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

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

10 years agoFix HGraphBuilder::BuildAddStringLengths
jkummerow@chromium.org [Wed, 2 Apr 2014 12:24:42 +0000 (12:24 +0000)]
Fix HGraphBuilder::BuildAddStringLengths

length == String::kMaxLength is fine and should not bail out.

BUG=chromium:357052
LOG=n
R=yangguo@chromium.org

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

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

10 years agoRemove V8_INLINE from v8-util.h.
vogelheim@chromium.org [Wed, 2 Apr 2014 12:07:10 +0000 (12:07 +0000)]
Remove V8_INLINE from v8-util.h.

(These have been causing compilation problems on some
platforms. For VS, V8_INLINE turns into 'force inline',
which will then cause a problem when the compiler won't
actually inline. Search for "C4714 warning" for details.)

BUG=
R=jochen@chromium.org

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

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

10 years agoCheck that environments assigned via AssignEnvironment are actually used.
svenpanne@chromium.org [Wed, 2 Apr 2014 11:30:13 +0000 (11:30 +0000)]
Check that environments assigned via AssignEnvironment are actually used.

Removed some temporary marker comments on the way.

R=bmeurer@chromium.org

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

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

10 years agoShow references from weak containers as weak in heap snapshots.
alph@chromium.org [Wed, 2 Apr 2014 11:19:53 +0000 (11:19 +0000)]
Show references from weak containers as weak in heap snapshots.

BUG=356590
LOG=Y
R=ulan@chromium.org, yurys@chromium.org

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

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

10 years agoMake invalid LHSs that are calls late errors
rossberg@chromium.org [Wed, 2 Apr 2014 11:03:05 +0000 (11:03 +0000)]
Make invalid LHSs that are calls late errors

Necessary for web legacy compatibility.

Also fold in additional strict mode checks into LHS checks.
Minor constness clean-ups on the way.

R=marja@chromium.org
BUG=chromium:358346
LOG=Y

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

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

10 years agoUse the correct natives in messages.js
yangguo@chromium.org [Wed, 2 Apr 2014 08:21:37 +0000 (08:21 +0000)]
Use the correct natives in messages.js

R=dslomov@chromium.org

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

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

10 years agoLazily initialize the target map list in IC.
ulan@chromium.org [Wed, 2 Apr 2014 07:59:54 +0000 (07:59 +0000)]
Lazily initialize the target map list in IC.

This makes sure that we keep the target map list alive in the handle scope during IC computation.

BUG=
R=verwaest@chromium.org

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

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

10 years agoFix auto-roll configuration.
machenbach@chromium.org [Wed, 2 Apr 2014 07:13:17 +0000 (07:13 +0000)]
Fix auto-roll configuration.

TBR=jarin@chromium.org
BUG=

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

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

10 years agoAdd execution permission to auto-roll script.
machenbach@chromium.org [Wed, 2 Apr 2014 07:04:53 +0000 (07:04 +0000)]
Add execution permission to auto-roll script.

TBR=jarin@chromium.org
BUG=

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

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

10 years agoAdd unhandlified versions of Of() and NowOf().
bmeurer@chromium.org [Wed, 2 Apr 2014 07:01:43 +0000 (07:01 +0000)]
Add unhandlified versions of Of() and NowOf().

R=svenpanne@chromium.org

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

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

10 years agoImplement auto-roll script.
machenbach@chromium.org [Wed, 2 Apr 2014 06:59:25 +0000 (06:59 +0000)]
Implement auto-roll script.

This script will (1) check if there is an active roll on rietveld (2) check if there is a trunk revision ready to be rolled and (3) call the chromium_roll script, creating a roll CL. The script will be called regularly through a cron job.

BUG=
R=jarin@chromium.org

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

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

10 years agoIntroduce ReadPositionFromRegister in x64 Regexp Macro Assembler
haitao.feng@intel.com [Wed, 2 Apr 2014 03:01:11 +0000 (03:01 +0000)]
Introduce ReadPositionFromRegister in x64 Regexp Macro Assembler

R=verwaest@chromium.org

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

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

10 years agoAdjust various constants for x32 port
haitao.feng@intel.com [Wed, 2 Apr 2014 02:34:50 +0000 (02:34 +0000)]
Adjust various constants for x32 port

R=verwaest@chromium.org

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

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

10 years agoMIPS: Consistently use a separate Lithium instruction for flooring division.
palfia@homejinni.com [Tue, 1 Apr 2014 23:43:47 +0000 (23:43 +0000)]
MIPS: Consistently use a separate Lithium instruction for flooring division.

Port r20395 (5b802048)

Original commit message:
Previously we tried to share some code on by a slightly confusing re-use
of LDivI for a (general) flooring division. Now we cleanly separate
concerns, just like for the rest of the division-like operations. Note
that ARM64 already did it this way.

If we really want to save some code, we can introduce some macro
assembler instructions and/or helper functions in the code generator in
a future CL, but we should really try to avoid being "clever" to save
just a few lines of trivial code. Effort != complexity. :-)

Renamed some related Lithium operands on the way for more consistency.

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Only assign environments when they are actually needed.
palfia@homejinni.com [Tue, 1 Apr 2014 23:42:55 +0000 (23:42 +0000)]
MIPS: Only assign environments when they are actually needed.

Port r20376 (2c4baaf5)

BUG=
R=plind44@gmail.com

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

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

10 years agoSkip cctest/test-lockers/MultithreadedParallelIsolates on windows
jochen@chromium.org [Tue, 1 Apr 2014 19:20:31 +0000 (19:20 +0000)]
Skip cctest/test-lockers/MultithreadedParallelIsolates on windows

It's already marked as FAIL, PASS everywhere anyways.

BUG=v8:3215
LOG=n
TBR=machenbach@chromium.org

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

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

10 years agoRemove V8_INLINE to prevent C4714 warning under Win64.
jochen@chromium.org [Tue, 1 Apr 2014 18:04:06 +0000 (18:04 +0000)]
Remove V8_INLINE to prevent C4714 warning under Win64.

BUG=
R=jochen@chromium.org

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

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

10 years agoRemove Factory::CopyMap(map) in favor of Map::Copy(map)
verwaest@chromium.org [Tue, 1 Apr 2014 17:43:20 +0000 (17:43 +0000)]
Remove Factory::CopyMap(map) in favor of Map::Copy(map)

BUG=
R=ulan@chromium.org

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

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

10 years agoSupport typed arrays in IsMoreGeneralElementsKindTransition.
dslomov@chromium.org [Tue, 1 Apr 2014 16:41:35 +0000 (16:41 +0000)]
Support typed arrays in IsMoreGeneralElementsKindTransition.

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

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

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

10 years agoSmi immediates are not supported on x64. Do not use it.
yangguo@chromium.org [Tue, 1 Apr 2014 15:32:06 +0000 (15:32 +0000)]
Smi immediates are not supported on x64. Do not use it.

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

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

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

10 years agoPreParser fix: propagate reference erros properly.
marja@chromium.org [Tue, 1 Apr 2014 14:17:43 +0000 (14:17 +0000)]
PreParser fix: propagate reference erros properly.

For example, invalid left hand sides are reference errors. PreParser didn't use
to produce this error ever, so the code for propagating reference errors
properly was missing, and reference errors turned into syntax errors.

R=rossberg@chromium.org
BUG=

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

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

10 years agoMonomorphic prototype failures should be reserved for already-seen keys.
mvstanton@chromium.org [Tue, 1 Apr 2014 14:16:54 +0000 (14:16 +0000)]
Monomorphic prototype failures should be reserved for already-seen keys.

We incorrectly mark a KeyedStoreIC miss as a monomorphic prototype
failure even though it's the first time a particular (string) key has
been seen.

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

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

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

10 years agoUpdate tryserver configuration with new linux and arm bots.
machenbach@chromium.org [Tue, 1 Apr 2014 13:43:32 +0000 (13:43 +0000)]
Update tryserver configuration with new linux and arm bots.

BUG=353487
TBR=jarin@chromium.org
LOG=n

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

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

10 years agoProvide Type::Contains methods.
rossberg@chromium.org [Tue, 1 Apr 2014 13:11:12 +0000 (13:11 +0000)]
Provide Type::Contains methods.

Also, rename all *Currently methods to Now*.

R=bmeurer@chromium.org
BUG=

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

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

10 years agoFix "make arm asan=$CLANG"
jkummerow@chromium.org [Tue, 1 Apr 2014 12:53:07 +0000 (12:53 +0000)]
Fix "make arm asan=$CLANG"

Bonus cleanup: remove a few duplicate compiler flags

R=jarin@chromium.org

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

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

10 years agoMSan workaround in Simulator::VisitBitfield.
jkummerow@chromium.org [Tue, 1 Apr 2014 12:51:15 +0000 (12:51 +0000)]
MSan workaround in Simulator::VisitBitfield.

This change shuffles the code in Simulator::VisitBitfield a bit
to work around a MemorySanitizer bug. New code should not be any
slower or less readable than before.

More info:
https://code.google.com/p/memory-sanitizer/issues/detail?id=50

R=jkummerow@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

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

10 years agoMSan does not understand inline asm. This change preinitializes cpuid
jkummerow@chromium.org [Tue, 1 Apr 2014 12:48:35 +0000 (12:48 +0000)]
MSan does not understand inline asm. This change preinitializes cpuid
results, and disables the use of stos.

Random mmap() addresses conflict with sanitizer memory layout.

R=jkummerow@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

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

10 years ago[msan] Do not unpoison heap if running on simulator.
jkummerow@chromium.org [Tue, 1 Apr 2014 12:45:00 +0000 (12:45 +0000)]
[msan] Do not unpoison heap if running on simulator.

With the simulator, MSan detects all memory accesses from JIT code
without the need for annotations.

We'd like to keep the annotation in the native (w/o simulator) mode
until we can move all MSan+V8 users to simulator mode.

R=jkummerow@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

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

10 years agoAdd msan.h to v8.gyp.
jkummerow@chromium.org [Tue, 1 Apr 2014 12:40:58 +0000 (12:40 +0000)]
Add msan.h to v8.gyp.

R=jkummerow@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

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

10 years agoRemove remnants of internalized cons strings.
yangguo@chromium.org [Tue, 1 Apr 2014 12:34:08 +0000 (12:34 +0000)]
Remove remnants of internalized cons strings.

R=svenpanne@chromium.org

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

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

10 years agoFixed build (unused vars in release mode).
svenpanne@chromium.org [Tue, 1 Apr 2014 11:59:24 +0000 (11:59 +0000)]
Fixed build (unused vars in release mode).

TBR=bmeuerer@chromium.org

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

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

10 years agoConsistently use a separate Lithium instruction for flooring division.
svenpanne@chromium.org [Tue, 1 Apr 2014 11:42:42 +0000 (11:42 +0000)]
Consistently use a separate Lithium instruction for flooring division.

Previously we tried to share some code on by a slightly confusing re-use
of LDivI for a (general) flooring division. Now we cleanly separate
concerns, just like for the rest of the division-like operations. Note
that ARM64 already did it this way.

If we really want to save some code, we can introduce some macro
assembler instructions and/or helper functions in the code generator in
a future CL, but we should really try to avoid being "clever" to save
just a few lines of trivial code. Effort != complexity. :-)

Renamed some related Lithium operands on the way for more consistency.

R=mstarzinger@chromium.org

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

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

10 years agoRemove internalized cons string types.
yangguo@chromium.org [Tue, 1 Apr 2014 11:30:31 +0000 (11:30 +0000)]
Remove internalized cons string types.

Currently, internalizing a cons string could result in either an
in-place converted internalized cons string or a newly created
internalized sequential string, depending on allocation success.

The former could end up being embedded into an IC, which is not
supported.

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

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

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

10 years agoRemove debugger_auto_break flag
yurys@chromium.org [Tue, 1 Apr 2014 11:23:23 +0000 (11:23 +0000)]
Remove debugger_auto_break flag

The flag was introduced to support console debugger in Chrome. That debugger was replaced by DevTools long time ago and the flag is always true now.

BUG=None
LOG=Y
R=yangguo@chromium.org

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

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

10 years agoalways lookup api holder from receiver
dcarney@chromium.org [Tue, 1 Apr 2014 11:21:20 +0000 (11:21 +0000)]
always lookup api holder from receiver

R=verwaest@chromium.org

BUG=

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

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

10 years agoCleanup property module.
bmeurer@chromium.org [Tue, 1 Apr 2014 11:16:13 +0000 (11:16 +0000)]
Cleanup property module.

R=svenpanne@chromium.org

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

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

10 years agoMake it possible to use HeapType inside objects-inl.h.
bmeurer@chromium.org [Tue, 1 Apr 2014 11:07:09 +0000 (11:07 +0000)]
Make it possible to use HeapType inside objects-inl.h.

R=rossberg@chromium.org

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

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

10 years agoReplace uses of set_map by MigrateToMap.
verwaest@chromium.org [Tue, 1 Apr 2014 11:04:37 +0000 (11:04 +0000)]
Replace uses of set_map by MigrateToMap.

BUG=
R=ishell@chromium.org

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

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

10 years agoStore i18n meta data in hidden symbols instead of js accessible properties
jochen@chromium.org [Tue, 1 Apr 2014 10:56:16 +0000 (10:56 +0000)]
Store i18n meta data in hidden symbols instead of js accessible properties

There were some tests that are supposed to protect against js messing
with the meta data, however, they just didn't try hard enough.

BUG=354967
R=dcarney@chromium.org
LOG=y

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

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

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

10 years agoOnly allow automatic FrameScope types for FrameAndConstantPoolScope
rmcilroy@chromium.org [Tue, 1 Apr 2014 10:49:44 +0000 (10:49 +0000)]
Only allow automatic FrameScope types for FrameAndConstantPoolScope

In certain situations the PP register would be invalid in a FrameScope::Manual FrameAndConstantPoolScope

R=ulan@chromium.org

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

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

10 years agoFixed assertions on ARM64.
svenpanne@chromium.org [Tue, 1 Apr 2014 10:39:09 +0000 (10:39 +0000)]
Fixed assertions on ARM64.

TBR=ulan@chromium.org

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

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

10 years agoSet kTruncatingToSmi for HChange only when To rep is Smi
verwaest@chromium.org [Tue, 1 Apr 2014 10:32:25 +0000 (10:32 +0000)]
Set kTruncatingToSmi for HChange only when To rep is Smi

BUG=
R=verwaest@chromium.org

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

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

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

10 years agoFixed power-of-2 predicates, excluding 0.
svenpanne@chromium.org [Tue, 1 Apr 2014 09:20:28 +0000 (09:20 +0000)]
Fixed power-of-2 predicates, excluding 0.

R=dslomov@chromium.org

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

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

10 years agoTighten object verification.
yangguo@chromium.org [Tue, 1 Apr 2014 08:57:48 +0000 (08:57 +0000)]
Tighten object verification.

Often, when we call MaybeObject::Verify, what we want is Object::ObjectVerify.

R=hpayer@chromium.org

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

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

10 years agoRevert r20375.
machenbach@chromium.org [Tue, 1 Apr 2014 08:05:45 +0000 (08:05 +0000)]
Revert r20375.

Store i18n meta data in hidden symbols instead of js accessible properties

BUG=354967
LOG=N
TBR=jochen@chromium.org

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

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

10 years agoOnly assign environments when they are actually needed. (ARM and ARM64 only)
svenpanne@chromium.org [Tue, 1 Apr 2014 07:21:31 +0000 (07:21 +0000)]
Only assign environments when they are actually needed. (ARM and ARM64 only)

Twin of https://codereview.chromium.org/210783003/ and https://codereview.chromium.org/211153003/.

Cleaned up DoChange a bit on the way, making things more uniform across platforms, removed useless comments etc.

R=yangguo@chromium.org

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

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

10 years agoStore i18n meta data in hidden symbols instead of js accessible properties
jochen@chromium.org [Tue, 1 Apr 2014 07:21:05 +0000 (07:21 +0000)]
Store i18n meta data in hidden symbols instead of js accessible properties

There were some tests that are supposed to protect against js messing
with the meta data, however, they just didn't try hard enough.

BUG=354967
R=dcarney@chromium.org
LOG=y

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

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

10 years agoMIPS: Fix PrepareKeyedOperand on MIPS.
palfia@homejinni.com [Mon, 31 Mar 2014 22:50:53 +0000 (22:50 +0000)]
MIPS: Fix PrepareKeyedOperand on MIPS.

Port r20363 (235f866c)

Original commit message:
When additional_offset is specified, the 'key' operand can be negative
and still pass the bounds check. Therefore, when converting key from
Smi, arithmetic and not logical shift must be used.

BUG=
R=plind44@gmail.com

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

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

10 years agoMIPS: Reland and fix "Fix LoadFieldByIndex to take mutable heap-numbers into account."
palfia@homejinni.com [Mon, 31 Mar 2014 22:48:54 +0000 (22:48 +0000)]
MIPS: Reland and fix "Fix LoadFieldByIndex to take mutable heap-numbers into account."

Port r20358 (5e9b653d)

BUG=
R=plind44@gmail.com

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

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

10 years agoWe should perform the illegal redeclaration check earlier so that we do not confuse...
jarin@chromium.org [Mon, 31 Mar 2014 16:45:46 +0000 (16:45 +0000)]
We should perform the illegal redeclaration check earlier so that we do not confuse the AST typer with missing type feedback nodes.

R=yangguo@chromium.org

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

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

10 years agoUse JSObject::SetMapAndElements rather than set_map + set_elements.
verwaest@chromium.org [Mon, 31 Mar 2014 16:21:20 +0000 (16:21 +0000)]
Use JSObject::SetMapAndElements rather than set_map + set_elements.

BUG=
R=ishell@chromium.org

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

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

10 years agoFix Type::Intersect to skip uninhabited bitsets
rossberg@chromium.org [Mon, 31 Mar 2014 15:53:21 +0000 (15:53 +0000)]
Fix Type::Intersect to skip uninhabited bitsets

R=verwaest@chromium.org, bmeurer@chromium.org
BUG=chromium:357330
LOG=Y

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

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

10 years agoUpdate list of V8 try bots.
machenbach@chromium.org [Mon, 31 Mar 2014 15:47:18 +0000 (15:47 +0000)]
Update list of V8 try bots.

R=jarin@chromium.org
TBR=jarin@chromium.org
BUG=353487
LOG=n

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

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

10 years agoReplace set_map_and_elements by MigrateToMap-based SetMapAndElements
verwaest@chromium.org [Mon, 31 Mar 2014 15:30:13 +0000 (15:30 +0000)]
Replace set_map_and_elements by MigrateToMap-based SetMapAndElements

BUG=
R=ishell@chromium.org

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

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

10 years agoFix PrepareKeyedOperand on arm.
dslomov@chromium.org [Mon, 31 Mar 2014 15:14:28 +0000 (15:14 +0000)]
Fix PrepareKeyedOperand on arm.

When additional_offset is specified, the 'key' operand can be negative
and still pass the bounds check. Therefore, when converting key from
Smi, arithmetic and not logical shift must be used.

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

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

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

10 years agoFix left trimming check for large objects
jarin@chromium.org [Mon, 31 Mar 2014 15:01:46 +0000 (15:01 +0000)]
Fix left trimming check for large objects

BUG=358090
TEST=test/mjsunit/regress/regress-358090.js
LOG=N
R=hpayer@chromium.org

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

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