Commit Graph

15921 Commits

Author SHA1 Message Date
mvstanton@chromium.org
f9a8425cd2 Reland of https://codereview.chromium.org/172523002/
Fixed
1) Missing line in x64 port.
2) GcStress found a logic error in the IC miss handler.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 13:57:53 +00:00
alexandre.rames@arm.com
72288a68dd ARM64: Use direct deoptimization exits.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 13:41:12 +00:00
ishell@chromium.org
1f9f8fe9eb ElementsAccessor's public interface handlification.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 13:20:24 +00:00
ishell@chromium.org
dd891816d4 Callers of ElementsAccessor::AddElementsToFixedArray(), ElementsAccessor::HasElement() and ElementsAccessor::GetKeyForIndex() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 13:05:37 +00:00
rodolph.perfetta@arm.com
0c2c71c1a2 ARM64: fix constant pool size used by disassembler
BUG=
R=ulan@chromium.org, bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:54:12 +00:00
marja@chromium.org
3d1a17c2ac Update tests to use the new compilation API + related fixes.
Esp. get rid of PreCompile in tests, as it's going to be removed.

Notes:
- The new compilation API doesn't have a separate precompilation phase, so there
is no separate way to check for errors except checking the compilation
errors. Removed some tests which don't make sense any more.
- test-api/Regress31661 didn't make sense as a regression test even before the
compilation API changes, because Blink doesn't precompile this short scripts. So
detecting this kind of errors (see crbug.com/31661 for more information) cannot rely
on precompilation errors.
- test-parsing/PreParserStrictOctal has nothing to do with PreParser, and the comment
about "forcing preparsing" was just wrong.
- test-api/PreCompile was supposed to test that "pre-compilation (aka
preparsing) can be called without initializing the whole VM"; that's no longer
true, since there's no separate precompilation step in the new compile
API. There are other tests (test-parsing/DontRegressPreParserDataSizes) which
ensure that we produce cached data.
- Updated tests which test preparsing to use PreParser directly (not via the
 preparsing API).
- In the new compilation API, the user doesn't need to deal with ScriptData
ever. It's only used internally, and needed in tests that test internal aspects
(e.g., modify the cached data before passing it back).
- Some tests which used to test preparse + parse now test first time parse +
  second time parse, and had to be modified to ensure we don't hit the
  compilation cache.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:36:23 +00:00
yangguo@chromium.org
b0def354bc Return MaybeHandle from GetProperty.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:25:45 +00:00
yangguo@chromium.org
dd7bb01688 Return MaybeHandle from SetProperty.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:06:11 +00:00
rmcilroy@chromium.org
3eb418df78 Fix fixed-point vcvt_f64_s32 immediate value encoding
The (32 - fraction_bits) value should be encoded so that the least
significant bit is set to bit 5 and the four next bits to bits 0-3. Fix
the previously incorrect encoding. This bug did not cause behavioral
issues before, since in existing uses of the function the order of the
bits in the immediate value does not matter, as they are all 1.

BUG=3256
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 11:12:40 +00:00
hpayer@chromium.org
8072cd2935 Don't overwrite transition array map while iterating over the transition tree.
Instread of using the transition array map to store the iteration index, we are using the constructor field of the map. Moreover, I removed the unchecked transition array accessors.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 09:25:36 +00:00
bmeurer@chromium.org
0d1c01cb92 Properly pass dim to recursive calls in TypePrint().
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 09:00:30 +00:00
hpayer@chromium.org
5230d8d330 Make sure value is a heap number when reusing the double box in BinaryOpICStub.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 08:46:49 +00:00
ishell@chromium.org
7982072dd3 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
2014-04-04 08:17:23 +00:00
machenbach@chromium.org
4b222fb69e 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
2014-04-04 07:23:45 +00:00
bmeurer@chromium.org
0968128371 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
2014-04-04 07:21:59 +00:00
svenpanne@chromium.org
f32ef903da 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
2014-04-04 07:07:34 +00:00
bmeurer@chromium.org
e26ff6c45f 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
2014-04-04 04:49:07 +00:00
palfia@homejinni.com
5ca16fb8c7 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
2014-04-03 23:34:28 +00:00
alph@chromium.org
4c124982b6 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
2014-04-03 16:32:59 +00:00
dslomov@chromium.org
d66c832edc 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
2014-04-03 16:25:05 +00:00
ishell@chromium.org
69df3564a8 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
2014-04-03 14:42:56 +00:00
alexandre.rames@arm.com
1f38f42ef1 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
2014-04-03 14:30:44 +00:00
alexandre.rames@arm.com
eb94807fa5 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
2014-04-03 14:28:40 +00:00
yangguo@chromium.org
9cc90739c2 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
2014-04-03 14:25:59 +00:00
jochen@chromium.org
5a57e644d7 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
2014-04-03 14:04:05 +00:00
machenbach@chromium.org
48b8a545c4 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
2014-04-03 13:01:22 +00:00
machenbach@chromium.org
5f3c8a11fa 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
2014-04-03 12:57:33 +00:00
yangguo@chromium.org
eedc4c01f5 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
2014-04-03 12:41:37 +00:00
yangguo@chromium.org
164e5b580c 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
2014-04-03 12:30:37 +00:00
yangguo@chromium.org
893f413434 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
2014-04-03 12:30:08 +00:00
mvstanton@chromium.org
5c0d85163c 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
2014-04-03 12:27:24 +00:00
mstarzinger@chromium.org
775d9b022f 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
2014-04-03 12:23:35 +00:00
svenpanne@chromium.org
48ccdd9f7e 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
2014-04-03 12:12:28 +00:00
yangguo@chromium.org
87dd16e3cd 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
2014-04-03 12:09:14 +00:00
mvstanton@chromium.org
c21cf2d334 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
2014-04-03 11:41:03 +00:00
yangguo@chromium.org
be0d2f5d15 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
2014-04-03 11:38:01 +00:00
jarin@chromium.org
fe37026116 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
2014-04-03 10:43:56 +00:00
svenpanne@chromium.org
d4ff61058a 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
2014-04-03 10:39:04 +00:00
machenbach@chromium.org
18308b389c 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
2014-04-03 09:42:18 +00:00
ishell@chromium.org
f3daa2c149 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
2014-04-03 09:12:59 +00:00
jochen@chromium.org
82279ba022 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
2014-04-03 07:51:27 +00:00
jochen@chromium.org
066956dd3f 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
2014-04-03 07:40:32 +00:00
jarin@chromium.org
42d2d3cb9d 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
2014-04-03 07:35:13 +00:00
jarin@chromium.org
0b53ed2d2b 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
2014-04-03 07:04:46 +00:00
yangguo@chromium.org
dc20bb49b0 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
2014-04-03 05:57:43 +00:00
palfia@homejinni.com
36aa2c1797 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
2014-04-02 22:18:22 +00:00
palfia@homejinni.com
60b589c530 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
2014-04-02 22:17:25 +00:00
alexandre.rames@arm.com
d21acd91e9 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
2014-04-02 16:37:33 +00:00
mstarzinger@chromium.org
0f52462e10 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
2014-04-02 16:36:16 +00:00
alexandre.rames@arm.com
03a4e5fc78 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
2014-04-02 16:31:58 +00:00