Commit Graph

14271 Commits

Author SHA1 Message Date
jkummerow@chromium.org
37e2c7e500 Support 'werror=no' on Mac/Xcode
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 15:29:31 +00:00
m.m.capewell@googlemail.com
02bc466a1c ARM: Tidy up Throw and Mod
Small fixes to Throw and Mod Lithium instructions.

TEST=none
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 15:27:57 +00:00
titzer@chromium.org
b5ee1e814b Enable global load elimination.
BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 14:49:39 +00:00
yurys@chromium.org
e87fe7b71f Simplify allocation tracker API
Deprecated separate methods for starting/stopping allocation tracking in favor of a bool param to Start/StopTrackingHeapObjects.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 14:27:24 +00:00
rossberg@chromium.org
bf3d84e3c8 Move more logic from AST to oracle, pt 3
Also eliminates remaining dependencies of type-info on AST.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 13:49:32 +00:00
bmeurer@chromium.org
620c985a0c Fix NaCl build.
TBR=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 13:40:14 +00:00
bmeurer@chromium.org
9b892b86b1 Refactor BinaryOpIC to be able to use different stubs.
Previously BinaryOpIC and BinaryOpStub were pretty much interdependent.
However, in order to use allocation sites for string adds on-demand,
we need to be able to use different stubs (with a different number of
register parameters, via trampolines) depending on the BinaryOpIC state.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 13:14:07 +00:00
bmeurer@chromium.org
aa83f2900a Fix invalid assertion with OSR in BuildBinaryOperation.
BUG=v8:3032
LOG=n
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 13:12:07 +00:00
yangguo@chromium.org
3d062847a4 Make sin-cos test case compatible with --always-osr.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 12:56:54 +00:00
mstarzinger@chromium.org
db915fe97e Handle captured objects in OptimizedFrame::Summarize.
R=yangguo@chromium.org
BUG=v8:3029
TEST=mjsunit/regress/regress-3029
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 12:11:02 +00:00
mvstanton@chromium.org
30c77be771 Removed pieces of extra_ic_state scattered around the stub compiler class hierarchy, and pushed down to a extra_ic_state in the base class.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 11:59:44 +00:00
bmeurer@chromium.org
a3d1df29f1 Fix HInnerAllocatedObject to use an HValue for the offset.
R=hpayer@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 11:24:31 +00:00
m.m.capewell@googlemail.com
b974ede8d5 ARM: Optimize WrapReceiver
Optimize register constraints and code generated for WrapReceiver Lithium
instruction.

TEST=none
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 10:56:23 +00:00
machenbach@chromium.org
ae119b1365 Prepare push to trunk. Now working on version 3.23.17.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 10:46:10 +00:00
machenbach@chromium.org
010756b427 Add retry feature for push-to-trunk script.
Make url accesses retry. Git retry requires some more analysis of git output first (follow up CL).

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 09:53:28 +00:00
verwaest@chromium.org
98897182f5 Remove special "store global proxy" IC, use as slow_stub().
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 09:51:37 +00:00
bmeurer@chromium.org
46fbeec7ab Remove the obsolete Code::IsPregenerated flag.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 09:46:35 +00:00
bmeurer@chromium.org
0de769aebd Fix compilation error with latest Xcode.
The build failed because of unused private fields.

R=titzer@chromium.org
BUG=v8:3030
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 08:09:17 +00:00
bmeurer@chromium.org
80f138dc72 Don't run tests if build fails in quickcheck.
TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-01 11:40:02 +00:00
palfia@homejinni.com
3733905afa MIPS: Drop IsPregenerated() and allow_stub_calls flag.
Port r18167 (1e4b11e0)

Original commit message:
This also removes the fixed register hack that was required to support RecordWriteStub in the snapshot.

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-30 01:32:07 +00:00
palfia@homejinni.com
dc32799d10 MIPS: Fix failures on Octane 2.0 zlib benchmark.
The bug was introduced in af9504e.

The zlib benchmark triggers long branch mode on MIPS, in which
at register is clobbered after every branch.

TEST=benchmarks/octane/zlib
BUG=
R=plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 23:46:10 +00:00
bmeurer@chromium.org
6e373493aa Drop IsPregenerated() and allow_stub_calls flag.
This also removes the fixed register hack that was required to support RecordWriteStub in the snapshot.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 20:49:15 +00:00
palfia@homejinni.com
de51363235 MIPS: Fix --new-string-add feature.
This commit fixes the arguments of NewStringAdd stub in full-codegen.

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 19:51:52 +00:00
palfia@homejinni.com
35ba60113d MIPS: Optimize NumberTagU
Port r18162 (8377a09b)

Original commit message:
Optimize register constaints for NumberTagU Lithium instruction, and adjust code generated to match.

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 19:50:38 +00:00
mvstanton@chromium.org
5ba1304d60 Array builtins need to be prevented from changing frozen objects, and changing structure on sealed objects.
BUG=299979
LOG=Y
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 15:22:16 +00:00
m.m.capewell@googlemail.com
662fcc6363 ARM: Optimize NumberTagU
Optimize register constaints for NumberTagU Lithium instruction, and adjust code
generated to match.

TEST=none
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 13:21:43 +00:00
verwaest@chromium.org
4d5ec5e656 Reupload CallIC changes.
Relands https://codereview.chromium.org/91963003/ with fix for the invalid receiver patching in case of the global object / interceptor.
BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 12:57:47 +00:00
titzer@chromium.org
425f3fde00 Eliminate HCheckHeapObject instructions in check elimination.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 12:37:35 +00:00
yangguo@chromium.org
e5eef90e76 Prepare push to trunk. Now working on version 3.23.16.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 11:43:05 +00:00
yangguo@chromium.org
fd124a390a Turn off new_string_add flag.
TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 11:20:59 +00:00
yangguo@chromium.org
21ce6100fb Revert r18144, r18143.
MIPS: Fix register usage.

MIPS: Cleanup in the CallStubCompiler.

The original revisions r18131 and r18139 have been reverted.

TBR=palfia@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 10:31:49 +00:00
jkummerow@chromium.org
833ee3cdb7 A few small refactorings and typo fixes
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 10:02:32 +00:00
mstarzinger@chromium.org
b506e8ce96 Follow-up fix for r18135 in TryCallApply.
R=yangguo@chromium.org
BUG=chromium:323942
TEST=mjsunit/regress/regress-crbug-323942
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:59:35 +00:00
yurys@chromium.org
5567426483 Do not put allocated block into HeapObjectsMap
Heap allocation reported to AllocationTracker may be later divided into several objects so it is incorrect to put the block as a new HeapObject into the map. We will match allocated block with actual HeapObjects later when iterating Heap (will be addressed in another patch). Since the objects are not assigned an id immediately after creation we need to call FindOrAddEntry when finding id for SharedFunctionInfo during stack crawling.

Removed hooks for tracking creation of AllocationMemento. AllocationMemento is not a HeapObject and should be considered as implementation overhead.

Renamed NewObjectEvent to AllocationEvent which is more precise in case of folded allocations and when a part of the new block becomes AllocationMemento.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:54:38 +00:00
mstarzinger@chromium.org
c8bfa60c0f Fix context register allocation in LTransitionElementsKind.
R=yangguo@chromium.org
BUG=chromium:324306
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:47:40 +00:00
yurys@chromium.org
c7053c8a37 Move heap profiler state flags to HeapProfiler
- moved is_tracking_objects_ flag to HeapProfiler and renamed it to is_tracking_objects_moves_
- Removed redundant call to UpdateHeapObjectsMap

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:47:32 +00:00
bmeurer@chromium.org
ba06898781 Enable --new-string-add by default.
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:44:54 +00:00
yangguo@chromium.org
31837891f8 Fix build.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:31:45 +00:00
yangguo@chromium.org
09c63bc961 Revert r18131 and r18139 "Clean up in the CallStubCompiler".
and "Fix register usage."

TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 09:02:00 +00:00
palfia@homejinni.com
d778f7088f MIPS: Fetch strictmode in the interceptor setter from the IC.
Port r18140 (9d563402)

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 01:47:48 +00:00
palfia@homejinni.com
dd26204073 MIPS: Fix register usage.
Port r18139 (2d54152a)

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 01:46:43 +00:00
palfia@homejinni.com
b9e40ff332 MIPS: Cleanup in the CallStubCompiler.
Port r18131 (b49d9992)

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 01:44:23 +00:00
palfia@homejinni.com
2c674d4ce1 MIPS: Use the HandlerFrontendHeader in most call compilers.
Port r18125 (e541c68d)

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-29 01:43:02 +00:00
verwaest@chromium.org
268f224f92 Remove strictmode from FindHandler.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 18:13:30 +00:00
verwaest@chromium.org
60d995fc99 Fetch strictmode in the interceptor setter from the IC.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 18:11:15 +00:00
verwaest@chromium.org
cb481195b3 Fix register usage.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 18:09:05 +00:00
titzer@chromium.org
5afd609aa1 Remove static asserts that dont compile on windows
TBR=mvstanton

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 16:14:54 +00:00
titzer@chromium.org
6e5e23d630 Implement global check elimination using the HFlowEngine.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:50:54 +00:00
mvstanton@chromium.org
e066a3667d Move responsibility for definition of ExtraICState bits into the ICs.
Currently it's in the Code object for some ICs and in ICs for other ICs.
This should make it easier to alter bits as needed.

2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state.

3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:32:55 +00:00
yangguo@chromium.org
f235194518 Fix bug in inlining Function.apply.
R=jkummerow@chromium.org
BUG=323942
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:30:17 +00:00