Commit Graph

11677 Commits

Author SHA1 Message Date
ulan@chromium.org
83c63cf555 Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object.
Second stage of implementing an out-of-line constant pool on Arm.  This CL
Introduces the ConstantPoolArray object which will be used as the backing
store of out-of-line constant pools.  Nothing uses this object yet.

BUG=
R=ulan@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:35:06 +00:00
titzer@chromium.org
63305af0f8 Reduce queue size in dead code elimination by eagerly processing live instructions.
BUG=
R=rmcilroy@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:32:02 +00:00
rossberg@chromium.org
9fadd29544 Fix initial comparison combined_type
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:25:36 +00:00
mstarzinger@chromium.org
00125f43f0 Remove deprecated v8::preparser namespace.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:07:20 +00:00
yurys@chromium.org
15db1d7c3a Track JS allocations as they arrive with no affection on performance when tracking is switched off.
BUG=277984
R=hpayer@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 12:41:28 +00:00
rossberg@chromium.org
814fe1f5cb Reenable 17167: "Ensure lower <= upper bound"
Fixed handlification bug (see 2nd patch).

Will handlify Type::Union and Type::Intersect in separate CL.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 12:14:42 +00:00
rossberg@chromium.org
c806a2385d Unify handling of position info in AST, part 3
* Turn CaseClause into a proper AstNode

R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 11:06:15 +00:00
hpayer@chromium.org
629b26c519 Use pages from lower to higher addresses in new space.
This CL constitutes the invariant that the top pointer in new space is always larger than objects allocated since the last new space garbage collection.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 09:48:44 +00:00
rossberg@chromium.org
530109c73b Unify handling of position info in AST, part 2
* Eliminate Conditional::then/else_position and WhileStatement::condition_position.

R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 09:41:41 +00:00
rossberg@chromium.org
19d716989e Unify handling of position info in AST, part 1
* AstNode now has a position info.
* Removed various ad-hoc position infos from subclasses (most of which had it).
* Position is always set with the constructor, instead of later.
* Take care to use kNoPosition in the right spots, to not crash the debugger.

Still to do:

* Eliminate Conditional::then/else_position and WhileStatement::condition_position.
* Make CaseClause a proper AstNode and eliminate its custom position.
* If possible, eliminate all uses of kNoPosition.

R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 09:24:58 +00:00
bmeurer@chromium.org
9724f06211 Drop useless HForceRepresentation in BinaryOpStub.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 09:22:34 +00:00
titzer@chromium.org
4b973b8995 Return the new state from local analysis in flow-engine.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 09:22:19 +00:00
yurys@chromium.org
0895b9c565 profile-generator.* code clean-up
* Removed unused CodeEntry::CopyData
* Removed unnecessary INLINE macros

BUG=None
R=loislo@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 08:57:46 +00:00
mstarzinger@chromium.org
ef3867b120 Prepare push to trunk. Now working on version 3.22.12.
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 08:42:54 +00:00
bmeurer@chromium.org
0a9425e756 HIsStringAndBranch does an implicit SMI check if necessary.
No need to test for SMI first using HIsSmiAndBranch.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 08:03:35 +00:00
haitao.feng@intel.com
8ad8ff10e3 Remove unnecessary MarkAsDeferredCalling when changing a tagged value to double
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 06:31:01 +00:00
palfia@homejinni.com
ddcf385daf MIPS: Truncate booleans to 0/1 in truncating t-to-i.
Port r17166 (0a4bf790)

Original commit message:
Truncate booleans to 0/1 in truncating t-to-i.

Thanks to weiliang.lin2@gmail.com for discovering the issue.

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 23:37:56 +00:00
palfia@homejinni.com
98695fad1a MIPS: Remove BaseLoad/StoreStub compilers, and the stub-cache interface duplication.
Port r17165 (e3cb6e2e)

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 21:26:10 +00:00
cira@chromium.org
c0ff0b284d Original review https://codereview.chromium.org/25855005.
Reverting reverted r17148 and fixing build (test) breakage by side stepping the Windows vs. Linux issue of different Date object for the same millisecond time stamp.
We do that by using UTC Date methods (they eliminate DST problems).

Windows:
new Date(129193200000);
Sun Feb 03 1974 23:00:00 GMT-0800 (Pacific Standard Time)

Linux:
new Date(129193200000);
Mon Feb 04 1974 00:00:00 GMT-0700 (PST)

BUG=2919
R=dslomov@chromium.org, mnita@google.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 17:54:31 +00:00
danno@chromium.org
f55fc759dc Revert 17167: "Ensure lower <= upper bound"
Due to crashes in nosnap ia32

TBR=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 16:41:34 +00:00
danno@chromium.org
4d67b70ea4 Adding Cira & Mihai to OWNERS for internationalization (i18n)
Keeping the names together so that I can put one comment for both.
Might also sort alphabetically, with the comment after each email.
Not sure what option was best, I have seen it done both ways.

R=cira@chromium.org, danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 15:24:45 +00:00
rossberg@chromium.org
68cc8da20c Ensure lower <= upper bound
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 15:17:58 +00:00
olivf@chromium.org
93d4fbd2ee Truncate booleans to 0/1 in truncating t-to-i.
Thanks to weiliang.lin2@gmail.com for discovering the issue.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 15:13:12 +00:00
verwaest@chromium.org
095ce23d58 Remove BaseLoad/StoreStub compilers, and the stub-cache interface duplication.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 14:05:23 +00:00
mstarzinger@chromium.org
f878c1c359 Fix pre-parsing of 'use strict' directive after string literals.
R=ulan@chromium.org
TEST=mjsunit/regress/regress-parse-use-strict

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 14:03:54 +00:00
verwaest@chromium.org
e08fbabe15 Unify ComputeLoad/StoreHandler and dispatch on compile.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 13:54:14 +00:00
verwaest@chromium.org
04e1462f9e Centralize handler caching and probing in ic.cc.
Also purge invalid POLYMORPHIC stubs. In a next step the compilers should probably be merged and the "Compute*" on the stub-cache removed.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 13:48:14 +00:00
mstarzinger@chromium.org
6ab8977e73 Remove dead IsEqualString and IsEqualNumber method.
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 13:40:08 +00:00
titzer@chromium.org
d67585f060 Implement first version of HFlowEngine, a framework for performing global flow-sensitive analyses.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 13:00:42 +00:00
verwaest@chromium.org
83a113482e Add a slow stub for store ICs.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 10:50:26 +00:00
mvstanton@chromium.org
faa0741bd6 Prepare push to trunk. Now working on version 3.22.11.
R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 10:34:17 +00:00
mvstanton@chromium.org
71af6c86a1 Allow FastCloneShallowObjectStub to use AllocationMementos.
(currently turned off)

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 09:25:14 +00:00
bmeurer@chromium.org
2c631933d5 Load/Store cannot handle double representation.
Assert that the representation for Load/Store in the X64 MacroAssembler
is never Double. Also add missing test case for the Load/Store macros.

TEST=cctest/test-macro-assembler-x64
R=mvstanton@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 07:12:06 +00:00
dslomov@chromium.org
12250f23d8 Add instruction factories to HHasInstanceTypeAndBranch.
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 20:01:42 +00:00
dslomov@chromium.org
0610773db7 Revert "Fixing timezone issues with date-time/parse-* tests."
This reverts commit r17148 for breaking tests on Windows.

TBR=cira@google.com,titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 19:43:05 +00:00
cira@chromium.org
2986f94c14 Fixing timezone issues with date-time/parse-* tests.
BUG=2919
TEST=All tests passing when local timezone was set to EST.
R=mnita@google.com, titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 17:54:33 +00:00
olivf@chromium.org
4b6d0e33f2 Only set binary operation side effects flags, when observable.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 16:49:25 +00:00
yangguo@chromium.org
907f079d25 Handlify GetPropertyWithFailedAccessCheck.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 15:38:52 +00:00
yangguo@chromium.org
995ea2bd82 Handlify JSObject::GetProperty????Interceptor.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 15:27:02 +00:00
olivf@chromium.org
caeb19fa28 Fix potential deopt-loop introduced in r17143.
TBR=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 14:54:31 +00:00
olivf@chromium.org
1384cc0a3d Fixing tagged binary operation input type feedback.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 13:32:00 +00:00
yurys@chromium.org
344d836d0f Add column getter to CpuProfileNode
CpuProfileNode currently exposes only line number which is not enough for the cases when there is more than one function on the same line. This change exposes column number on CpuProfileNode.

BUG=302537
R=jkummerow@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 13:15:47 +00:00
ulan@chromium.org
f9fbe4fcfb Enable weak embedded objects in optimized code with a fix for heap verifier.
BUG=v8:2073
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 13:14:37 +00:00
yurys@chromium.org
3228e953f9 Unflake cctest/test-cpu-profiler/JsNativeJsRuntimeJsSample on Win32 Debug
Profiler is now started from JavaScript. Since we always capture stack trace when starting profiler there should always be at least one expected sample in the profile.

Also changed ProfilerEventsProcessor::AddCurrentStack to make sure it call TickSample::Init to instead of custom initialization code.

BUG=v8:2920
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 13:03:41 +00:00
rossberg@chromium.org
792dd705af More precise type lub for numbers
R=jkummerow@chromium.org
BUG=v8:2910

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 12:30:06 +00:00
rossberg@chromium.org
3c01f30e3f Revert "Load/Store cannot handle double representation."
This reverts r17135 -- test crashes on x64.

TBR=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 12:28:52 +00:00
mstarzinger@chromium.org
63d8abb6c6 Unify and fix checkers for duplicate object literal properties.
R=ulan@chromium.org
TEST=preparser/duplicate-property,mjsunit/regress/regress-parse-object-literal

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 11:58:16 +00:00
bmeurer@chromium.org
ef8dc50e55 Load/Store cannot handle double representation.
Assert that the representation for Load/Store in the X64 MacroAssembler
is never Double. Also add missing test case for the Load/Store macros.

TEST=cctest/test-macro-assembler-x64
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 11:42:00 +00:00
olivf@chromium.org
49b5c77409 Only crosscompile binary op stubs if we compile a snapshot.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 10:37:18 +00:00
verwaest@chromium.org
5e25707540 Use the new introduced block's reachable flag.
BUG=
R=verwaest@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 09:35:35 +00:00
mvstanton@chromium.org
7f5f106b58 Prepare push to trunk. Now working on version 3.22.10.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 09:23:28 +00:00
mvstanton@chromium.org
59c8d36c00 Revert "Debug: Allow stepping into on a given call frame."
This reverts commit r17095.
There were test failures (flaky).

BUG=chromium:296963
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 09:05:28 +00:00
titzer@chromium.org
5104731254 Simplify redundant phi elimination and use during canonicalization too.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 08:50:44 +00:00
olivf@chromium.org
256de3235f Ensure only whitelisted stubs have sse2 versions in the snapshot.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 08:45:40 +00:00
mvstanton@chromium.org
fc95207750 Revert "Unify and fix checkers for duplicate object literal properties."
This reverts commit 12c68518bd2c74dc4e44d928c84c17f98ca63359.
(r17114)

R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 08:45:19 +00:00
dslomov@chromium.org
380d0ca582 Implement ArrayBuffer.isView.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 08:36:44 +00:00
bmeurer@chromium.org
eace510108 Get rid of the HInstanceSize instruction.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 19:04:34 +00:00
mstarzinger@chromium.org
067a266426 Unify and fix checkers for duplicate object literal properties.
R=ulan@chromium.org
TEST=preparser/duplicate-property

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 16:58:01 +00:00
mstarzinger@chromium.org
3c8e87d840 Remove obsolete preparser binary.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 16:21:23 +00:00
jkummerow@chromium.org
66fb917684 Prepare push to trunk. Now working on version 3.22.9.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 15:31:39 +00:00
jkummerow@chromium.org
1cc549747e Fix shared_library build after r17107
R=rmcilroy@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 14:53:16 +00:00
jkummerow@chromium.org
7d819d713f MIPS: Hydrogenisation of binops
Port r17104.

R=olivf@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 12:31:57 +00:00
jkummerow@chromium.org
07b15bdfc1 Explicitly include defaults.cc in the shared_library gyp target.
Explicitly include defaults.cc in the shared_library gyp target, otherwise
the whole compilation unit is stripped by the Windows linker, since none of it's
symbols are referenced by any other compilation unit in V8.

BUG=None
R=jkummerow@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 11:57:42 +00:00
olivf@chromium.org
7d456285d3 Calm down GCMole after r17104.
TBR=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 11:25:30 +00:00
olivf@chromium.org
c566aed204 Bump code space size for cctest/DeserializeFromSecondSerialization.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 11:11:50 +00:00
olivf@chromium.org
66c610398f Reland "Hydrogenisation of binops"
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 08:17:11 +00:00
ulan@chromium.org
f1dfb9072e Disable weak embedded objects in optimized code because of failing test.
BUG=test/mjsunit/json.js fails
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 07:50:36 +00:00
ulan@chromium.org
52c421956a Make objects embedded in optimized code weak.
This introduces a global weak hash table that maps objects embedded in
optimized code to dependent code lists. Using this table we can deoptimize
optimized code whenever a weak object embedded in the code dies.

BUG=v8:2073
R=hpayer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 07:25:24 +00:00
bmeurer@chromium.org
42dc3faf9a Add support to load/store byte fields.
This adds a new Byte representation and support for zero-extended
loads in HLoadNamedField and truncated stores in HStoreNamedField.

R=mvstanton@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 07:13:43 +00:00
bmeurer@chromium.org
5e8c902991 Revert "Add support to load/store byte fields." and "MIPS: Add support to load/store byte fields.".
This reverts commit r17079 and r17085. Will reland after fix.

TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 05:47:35 +00:00
jkummerow@chromium.org
36072e610c Prepare push to trunk. Now working on version 3.22.8.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 12:13:01 +00:00
yurys@chromium.org
ce61a704e3 Debug: Allow stepping into on a given call frame.
BUG=chromium:296963
R=yangguo@chromium.org, yurys

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 07:42:44 +00:00
haitao.feng@intel.com
66e53dc046 Use StackArgumenstAccessor and kPCOnStackSize/kFPOnStackSize to compute stack address/operand for X64
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 01:22:25 +00:00
haitao.feng@intel.com
df37f91699 Use StackArgumentsAccessor for PropertyCallback and FunctionCallback for X64
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 00:33:23 +00:00
plind44@gmail.com
3a3c8e760e MIPS: Fix test262 failures and x64 compile failure.
Port r17082 (fc909df)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 18:19:44 +00:00
olivf@chromium.org
24c2336d75 Inline some more compare operations.
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 18:15:57 +00:00
verwaest@chromium.org
7f6270dbf2 Don't use StubType to probe the code caches.
There is only one stub-type in the cache at all times. By ignoring the type up-front, we can in a later phase move cache probing before even computing the type.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:23:30 +00:00
verwaest@chromium.org
2c5d0d825e Use PatchCache for call ICs.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:20:58 +00:00
verwaest@chromium.org
8feab2edc7 Cleanup map deprecation handling in the ICs
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:18:13 +00:00
verwaest@chromium.org
41f660fe07 Rename ComputeLoadStoreField to just handle ComputeStoreField.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:17:00 +00:00
plind44@gmail.com
6c8e9df239 MIPS: Add support to load/store byte fields.
Port r17079 (0885ac2)

Original commit message:
This adds a new Byte representation and support for zero-extended
loads in HLoadNamedField and truncated stores in HStoreNamedField.

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:16:27 +00:00
plind44@gmail.com
1db15f849d MIPS: Improve and simplify removal of unreachable code.
Port r17073 (ba68149)

Original commit message:
- Detect unreachable basic blocks of code either following an unconditional deopt or after a provably untaken branch of HBranch or HCompareObjectEqAndBranch instructions.
- Emit dummy uses in unreachable blocks during Hydrogen -> Lithium translation.

BUG=chromium:258519
R=mstarzinger@chromium.org, plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 16:58:37 +00:00
danno@chromium.org
79a14d3f73 Fix failure in unit tests
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 16:13:49 +00:00
danno@chromium.org
d4bcf5d730 Fix test262 failures and x64 compile failure.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 15:27:51 +00:00
hpayer@chromium.org
a6eb65983d Tweak default max heap size constants for platforms with swap.
Configure platforms with swap memory with larger heap size by default. Also
introduce an additional "bucket" between 1GB-2GBs.

BUG=None
R=hpayer@chromium.org, jkummerow@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:36:38 +00:00
bmeurer@chromium.org
81e4550796 Always use timeGetTime() for TimeTicks::Now() on Windows.
This way, we also ensure that timeGetTime() is used for Time::Now(),
and thereby Date.now() even if GetTickCount64() is available.

Also add test coverage for Time::Now(), TimeTicks::Now() and
TimeTicks::HighResNow().

BUG=chromium:288924
TEST=cctest/test-timer
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:30:31 +00:00
bmeurer@chromium.org
9492c1b540 Add support to load/store byte fields.
This adds a new Byte representation and support for zero-extended
loads in HLoadNamedField and truncated stores in HStoreNamedField.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:27:53 +00:00
verwaest@chromium.org
7e0ea6ab46 Only fold polymorphic into monomorphic load if all load from either receiver or same prototype.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:24:08 +00:00
danno@chromium.org
4529dd81ae Fix improper usage of V8_OVERRIDE.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 12:16:57 +00:00
haitao.feng@intel.com
7fc8679c4e Tweak SmiAdd for X64
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:46:01 +00:00
danno@chromium.org
908a7dc2a8 Improve and simplify removal of unreachable code
- Detect unreachable basic blocks of code either following an unconditional deopt or after a provably untaken branch of HBranch or HCompareObjectEqAndBranch instructions.
- Emit dummy uses in unreachable blocks during Hydrogen -> Lithium translation.

BUG=chromium:258519
R=jkummerow@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:43:41 +00:00
olivf@chromium.org
60c92b9b9a Add flag for printing the time it took to deserialize the snapshot.
BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:32:19 +00:00
olivf@chromium.org
f454b45d6d Add a flag to print the time it takes to compile HydrogenCodeStubs.
BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:27:37 +00:00
palfia@homejinni.com
4b9a9f7af7 MIPS: Allow function inlining with context change.
Port r17019 (cd4b69cd)

BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:25:06 +00:00
hpayer@chromium.org
9d732d6594 Print out how many AllocationMementos were found during mark-sweep.
Moreover use the right memory boundary for AllocationMemento lookup during gc.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:04:54 +00:00
yangguo@chromium.org
72f93382bc Correctly handlify CopyContextLocalsToScopeObject.
Handlified functions that expect allocation must be static, i.e. not allow to
use 'this', since 'this' is not relocated by potential GC.

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 10:51:10 +00:00
jkummerow@chromium.org
be8f8cebb9 Prepare push to trunk. Now working on version 3.22.7.
TBR=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 09:54:36 +00:00
jkummerow@chromium.org
a4b00f3735 Revert "lazy instantiation of the default isolate" and "build fix for 17049".
This reverts r17049 and r17060.

TBR=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 09:01:40 +00:00
jkummerow@chromium.org
f5890e0234 Cancel push to trunk. Working on version 3.22.6 again.
TBR=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 08:54:25 +00:00
yangguo@chromium.org
e922c7f8e4 Fix compile error.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 08:40:15 +00:00