Commit Graph

286 Commits

Author SHA1 Message Date
sigurds@chromium.org
bc475b4a6b Add inlining for intrinsics.
This issue is for discussion on how to proceed.

I think the implementation of ValueOf shows that directly creating the IR does not scale.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 07:56:50 +00:00
titzer@chromium.org
e4c6f9488e Implement graph trimming in ControlReducer.
Trimming the graph consists of breaking links from nodes that are not reachable from end to nodes that are reachable from end. Such dead nodes show up in the use lists of the live nodes and though mostly harmless, just clutter up the graph. They also can limit instruction selection opportunities, so it is good to get rid of them.

This CL is one half of the ControlReducer functionality, the other half
being branch folding.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 11:51:57 +00:00
wingo@igalia.com
ee64a14b24 Implement .forEach() on typed arrays
BUG=v8:3578
LOG=Y
R=dslomov@chromium.org, wingo@igalia.com

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:55:26 +00:00
dusan.milosavljevic@imgtec.com
403dc88519 MIPS: Unbreak gn build, missing source files for MIPS tf.
TEST=
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 14:18:10 +00:00
yangguo@chromium.org
ba6e17c494 Split off remaining runtime functions in runtime.cc.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 14:59:53 +00:00
yangguo@chromium.org
0dd69ec439 Allow identifier code points from supplementary multilingual planes.
ES5.1 section 6 ("Source Text"):
"Throughout the rest of this document, the phrase “code unit” and the
word “character” will be used to refer to a 16-bit unsigned value
used to represent a single 16-bit unit of text."

This changed in ES6 draft section 10.1 ("Source Text"):
"The ECMAScript code is expressed using Unicode, version 5.1 or later.
ECMAScript source text is a sequence of code points. All Unicode code
point values from U+0000 to U+10FFFF, including surrogate code points,
may occur in source text where permitted by the ECMAScript grammars."

This patch is to reflect this spec change.

BUG=v8:3617
LOG=Y
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 07:13:46 +00:00
yangguo@chromium.org
8659e50723 Update unicode to 7.0.0.
And do not use code points with PATTERN_* property for identifier start.
Maintain that \u180E is a white space character.

BUG=v8:2892
LOG=Y
R=dpino@igalia.com, mathias@qiwi.be

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:55:03 +00:00
ulan@chromium.org
5b463207d7 Move fdlibm in src/third_party.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 11:19:51 +00:00
bmeurer@chromium.org
9440b885ae Add C++11 compatible base::hash function object.
Implement NodeCache in terms of base::hash and std::equal_to in preparation
for HeapConstant caching.

TEST=cctest,unittests
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 12:27:24 +00:00
dslomov@chromium.org
bedfa9e710 Extract runtime functions for classes into a separate file.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 12:11:12 +00:00
jochen@chromium.org
259126c0d9 Remove sweeper threads
Job based sweeping is enabled since 3.29, so remove the now obsolete
thread based implementation

BUG=none
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 09:16:28 +00:00
yangguo@chromium.org
af635205ed Split yet more runtime functions into separate files.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:46:04 +00:00
bmeurer@chromium.org
c1ee6247ca [turbofan] Some javascript operators are globally shared singletons.
Also cleanup the interface, and make the parameter class/accessors
explicit to work-around the type-unsafety of OpParameter<T>.

TEST=compiler-unittests,cctest,mjsunit
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:42:44 +00:00
dcarney@chromium.org
51a2f97d80 [turbofan] x64 lea multiplication matching
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 09:46:30 +00:00
yangguo@chromium.org
381616fb70 Split even more runtime functions into separate files.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 08:23:02 +00:00
jochen@chromium.org
aee775a509 gn: Add missing source files to x86 build
R=jochen@chromium.org, jochen
BUG=none
LOG=n

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

Patch from Cem Kocagil <ckocagil@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 08:22:16 +00:00
yangguo@chromium.org
b0fdeb1b2a Split more runtime functions into seperate files.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 09:32:38 +00:00
dcarney@chromium.org
5d0e9a2496 [turbofan] basic block profiler
R=titzer@chromium.org, mstarzinger@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:29:14 +00:00
yangguo@chromium.org
3ef16353ba Move string-related runtime functions into separate files.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:08:15 +00:00
yangguo@chromium.org
2a67e48f0e Move i18n-related runtime functions into a separate file.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:16:15 +00:00
yangguo@chromium.org
43538e57a4 Refactor bailout reasons and disable optimization in more cases.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 07:08:27 +00:00
mstarzinger@chromium.org
7765a5fd88 Add JSBuiltinReducer for inlining well-known builtins.
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/BuiltinMathImul

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 15:02:58 +00:00
mvstanton@chromium.org
200095c3e7 Move state sentinels into TypeFeedbackVector.
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.

R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:31:31 +00:00
mvstanton@chromium.org
134a89b11f Introduce TypeFeedbackVector, as FixedArray grew constrictive.
The TypeFeedbackVector is poised to host significant functionality. While it
remains a FixedArray under the covers, we need a place to hold logic and
definitions unique to its function.

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:59:53 +00:00
mvstanton@chromium.org
a4176d2052 Removing ic.h from code-stubs.h
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.

More work could/should be done here, but this is a first step.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:51:33 +00:00
wingo@igalia.com
a76fe0a2cf Enable ES6 generators
R=rossberg@chromium.org

BUG=v8:2355
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:30:39 +00:00
jochen@chromium.org
a35cf732bf Compile V8 with extra optimization in GN Release mode.
This matches the GYP build which does 'optimize': 'max' on the corresponding targets.

R=jochen@chromium.org

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

Patch from Brett Wilson <brettw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 14:48:01 +00:00
bmeurer@chromium.org
578aeb0b0c [turbofan] Some common operators are globally shared singletons.
TEST=compiler-unittests,cctest
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 11:59:26 +00:00
marja@chromium.org
eb19fc013a Add script streaming API.
Blink will use this API to stream script data into V8 as the scripts
load. During loading, V8 can already parse the scripts. They will be then
compiled and executed when the loading is complete.

This is a reincarnation of https://codereview.chromium.org/366153002/
with fixes.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 09:12:08 +00:00
mvstanton@chromium.org
af495313d4 Turbofan needs a code handle and a CallInterfaceDescriptor. At the same time we spread knowledge about how to create the initial IC code object too widely. Consolidate code creation and unify it with a descriptor via CodeFactory.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 13:18:58 +00:00
marja@chromium.org
90af365ae3 Revert "Add script streaming API."
This reverts r23865

Revert "Fix compilation after r23865."

This reverts r23867

Reason: the test contains characters too special for Windows's taste.

TBR=ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:29:28 +00:00
marja@chromium.org
61c9683d71 Add script streaming API.
Blink will use this API to stream script data into V8 as the scripts
load. During loading, V8 can already parse the scripts. They will be then
compiled and executed when the loading is complete.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:06:26 +00:00
bmeurer@chromium.org
bfa3884ae0 [turbofan] Machine operators are globally shared singletons.
TEST=compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 10:37:49 +00:00
jochen@chromium.org
84e21c5ec0 Convert GN visibility to be a list.
GN visibility currently allows either string or list types, but this is causing
some problems for some templates. I'm going to require it to be lists, so am
changing all callers before pushing the new binary.

R=jochen@chromium.org

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

Patch from Brett Wilson <brettw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 08:57:29 +00:00
jochen@chromium.org
4ad3760dff Fix v8's GN v86 build.
This got out-of-sync with some GYP changes. Also makes it compile on Windows.

R=jochen@chromium.org

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

Patch from Brett Wilson <brettw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 10:48:29 +00:00
svenpanne@chromium.org
051972d240 Generalized division via multiplication.
We can now compute the magic numbers for all combinations of 32bit and
64bit (un)signed multiplications.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 11:48:47 +00:00
mstarzinger@chromium.org
bb025c1ceb Remove overly complex MachineNodeFactory.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 16:29:40 +00:00
bmeurer@chromium.org
7712ed28e8 [turbofan] Initial version of ValueNumberingReducer.
TEST=compiler-unittests,cctest,mjsunit
R=mstarzinger@chromium.org, jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 11:13:35 +00:00
mstarzinger@chromium.org
51894ec36c Move StructuredMachineAssembler into cctest suite.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 10:23:51 +00:00
akos.palfi@imgtec.com
c25ba578f4 MIPS: Make concrete classes for individual call descriptors. - external
Port r23639 (e5a2758)

Original commit message:
The ic-convention classes that hold register specifications are merged into these new call descriptor classes, which should represent a final home for that information.

BUG=
R=machenbach@chromium.org

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

Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 22:26:38 +00:00
mvstanton@chromium.org
c2fe5b2b68 Make concrete classes for individual call descriptors. The ic-convention classes that hold register specifications are merged into these new call descriptor classes, which should represent a final home for that information.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 10:51:51 +00:00
bmeurer@chromium.org
7d0d01005c First step to cleanup the power-of-2 mess.
TEST=base-unittests,cctest,mjsunit
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 13:36:35 +00:00
bmeurer@chromium.org
db10bef4de [turbofan] First step of Operator refactoring.
- Real const-correctness
- Proper forward declarations instead of #include "src/v8.h"
- Flags for Operator properties.
- etc.

TEST=compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:36:55 +00:00
jochen@chromium.org
8ed43d7f2d Fix gn android component build
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 10:21:41 +00:00
balazs.kilvady@imgtec.com
78da4a3bd2 MIPS: Refactoring InterfaceDescriptors away from code-stubs.h - external.
Port r23515 (fe0bdbf)

Original commit message:
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.

BUG=
R=paul.lind@imgtec.com, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:28:26 +00:00
mvstanton@chromium.org
9514d34e14 Refactoring InterfaceDescriptors away from code-stubs.h
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 10:40:02 +00:00
mstarzinger@chromium.org
cc8cec354c Preliminary lowering of typed array loads in TF.
R=titzer@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 14:35:11 +00:00
bmeurer@chromium.org
7fb56e2e71 Add Flags<T> class as a type-safe way of storing OR-combinations of enums.
TEST=base-unittests
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 12:16:36 +00:00
mstarzinger@chromium.org
ef565ef98f Fix GN build after r23442.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 10:55:44 +00:00
bmeurer@chromium.org
b8b9d10590 Sync our homegrown SysInfo replacement with the one in Chrome base.
Also fix several inconsistencies/bugs on the way.

TEST=base-unittests
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 08:29:22 +00:00
balazs.kilvady@imgtec.com
6ff7b9ab0f MIPS: Move register conventions out of the IC classes.
Port r23391 (c3bf1dc)

Original commit message:
A change to a convention shouldn't require recompilation of ic.h/.cc.

BUG=
R=paul.lind@imgtec.com, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:57:18 +00:00
verwaest@chromium.org
fa70f154b7 Remove dead code from LookupResult
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:32:51 +00:00
mvstanton@chromium.org
295448a4ea Move register conventions out of the IC classes.
A change to a convention shouldn't require recompilation of ic.h/.cc.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:50:09 +00:00
mstarzinger@chromium.org
ab57ca86ee Fix GN build after r23364.
TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:22:04 +00:00
balazs.kilvady@imgtec.com
22d9cd21a9 MIPS: Move handler compilers to handler-compiler.
Port r23346 (fd75a28)

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 15:15:26 +00:00
balazs.kilvady@imgtec.com
be0d658d61 MIPS: Move PropertyAccessCompiler and CallOptimization to their own files.
Port r23320 (ae06749)

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:35:22 +00:00
verwaest@chromium.org
2803733a3b Move handler compilers to handler-compiler
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:17:37 +00:00
balazs.kilvady@imgtec.com
1cdd7f5074 MIPS: Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler.
Port r23306 (b95f295)

BUG=
R=paul.lind@imgtec.com, verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:09:25 +00:00
verwaest@chromium.org
50ea93c614 Move PropertyAccessCompiler and CallOptimization to their own files
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 14:36:54 +00:00
verwaest@chromium.org
8b692bd877 Add ic-compiler to BUILD.gn
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 12:30:25 +00:00
verwaest@chromium.org
30c3981c2c Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:43:39 +00:00
bmeurer@chromium.org
7cb564b580 [turbofan] Initial import of SimplifiedOperatorReducer.
TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 04:47:55 +00:00
dslomov@chromium.org
22d5ceb1f2 Implement Function.prototype.toMethod.
R=arv@chromium.org, verwaest@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:39:33 +00:00
bmeurer@chromium.org
f498fa5859 Fix BUILD.gn.
TBR=yanggou@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 13:17:59 +00:00
sigurds@chromium.org
566cdc3bcd Reland "Add initial support for inlining."
Reland Fixes:
* Remove usage of C++11 vector members.
* Guard tests by V8_TURBO_TARGET.

Changes:
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
  Uses:iterator already provides this member function.
* Allow next node id in graph to be set.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 13:05:03 +00:00
hpayer@chromium.org
1605474d70 Use actual incremental marking throughput in IdleNotification to estimate marking step size.
BUG=
R=jochen@chromium.org, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 10:33:03 +00:00
sigurds@chromium.org
b488b2ed29 Revert "Add initial support for inlining."
This reverts commit r23197.

TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:48:44 +00:00
sigurds@chromium.org
4b943f35cf Add initial support for inlining.
* Add stack depth checking to function tester.
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
  Uses:iterator already provides this member function.
* Allow next node id in graph to be set.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:23:19 +00:00
yangguo@chromium.org
3527f40b7e Reorder native javascript files.
R=verwaest@chromium.org
BUG=403717
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:29:48 +00:00
mstarzinger@chromium.org
3adac582b0 Deprecate LoweringBuilder in favor of Reducer.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 12:24:37 +00:00
bmeurer@chromium.org
ae7d781d8b [turbofan] Introduce WordRor machine operator.
Move recognition of rotate-right operations to the
MachineOperatorReducer, so we don't need to repeat that in the
InstructionSelector for every backend.

TEST=base-unittests,compiler-unittests,cctests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:07:58 +00:00
hpayer@chromium.org
24fceeeabb Move store-buffer to heap and remove some unnecessary includes.
BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:22:24 +00:00
yangguo@chromium.org
4db68f26e2 Fix GN build.
TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-09 10:02:42 +00:00
rossberg@chromium.org
7cd2c215ac Fix BUILD.gn after unflagging unscopables
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 13:55:17 +00:00
wingo@igalia.com
cebddb662e Enable ES6 iteration by default
This enables for-of, as well as @@iterator implementations for strings
and arrays.

R=rossberg@chromium.org
BUG=v8:2214
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 16:42:14 +00:00
hpayer@chromium.org
604eaa0d27 Move objects-visiting into heap.
BUG=
R=jochen@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 12:21:01 +00:00
yangguo@chromium.org
2e4114975f Fix BUILD.gn after r22923.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:02:37 +00:00
rossberg@chromium.org
25b978cbf4 This implements unscopables
The unscobables allow us to black list properties from showing up in
with statements.

https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-environment-records-hasbinding-n

The spec draft is not fully up to date.

https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-29.md#conclusionresolution

BUG=v8:3401
LOG=Y
R=rossberg@chromium.org, verwaest@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:50:40 +00:00
yangguo@chromium.org
d07203bc90 Fix BUILD.gn
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 14:57:04 +00:00
yangguo@chromium.org
71857295b4 Reland "Implement trigonometric functions using a fdlibm port."
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:39:39 +00:00
yangguo@chromium.org
ff7975aa8d Revert "Implement trigonometric functions using a fdlibm port."
This reverts r22918 and r22920.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:04:47 +00:00
yangguo@chromium.org
3c4d23b917 Implement trigonometric functions using a fdlibm port.
R=jochen@chromium.org, rtoy@chromium.org, svenpanne@chromium.org
BUG=v8:3006
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 10:33:17 +00:00
adamk@chromium.org
bcf8b05072 Enable ES6 Map and Set by default
In doing so also remove all references to the --harmony-collections flag.
Due to the way context snapshotting works, it's not possible to simply
enable the flag by default.

Depends on ES6 Symbols: https://codereview.chromium.org/421313004

BUG=v8:1622
LOG=Y
R=arv@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 19:37:32 +00:00
verwaest@chromium.org
62714a58cd Inline LookupInHolder and NextHolder
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 09:32:55 +00:00
jochen@chromium.org
c608c2f0be Move a bunch of GC related files to heap/ subdirectory
BUG=none
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:18:22 +00:00
mstarzinger@chromium.org
bff9c5daeb Add new files to the GN build after r22709.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 15:36:22 +00:00
ernstm@chromium.org
70e2a040b3 Move GCTracer to separate files.
- No functional changes.

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 13:06:38 +00:00
jochen@chromium.org
b019be29eb Fix v8 Windows GN build.
The paths for some of the Windows-specific files was incorrect.

R=jochen@chromium.org

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

Patch from Brett Wilson <brettw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 17:39:54 +00:00
yangguo@chromium.org
59de1ffbe5 Fix ninja build.
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 14:59:49 +00:00
jochen@chromium.org
168742b81a Introduce a PrototypeIterator class and use it for prototype access
The new pattern is that we first get the map of the root of the
prototype chain using Object::GetMapRoot() and then walk up the
prototype chain using Map::prototype().

BUG=???
R=verwaest@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 07:19:49 +00:00
jarin@chromium.org
cfccf7938e Reland "Linux perf tool support update + refactoring." (r22146, fifth attempt)
Bringing the offending timer functions to the platform dependent files.

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 19:18:26 +00:00
jochen@chromium.org
7b94143287 Don't even include v8.h from libbase or libplatform
BUG=none
R=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:50:52 +00:00
jochen@chromium.org
ca16bb7ae2 Split out libplatform into a separate libary
Also remove the "use default platform" compile flag. Instead, the embedder
has to provide the platform.

Change all binaries to use the default platfrom from libplatform.

Unless --job-based-sweeping is passed, nothing uses the platform yet, so
nothing will break for embedders (yet).

BUG=none
R=jkummerow@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:37:27 +00:00
yangguo@chromium.org
b6fcac16a3 Revert "Reland "Linux perf tool support update + refactoring." (r22118)"
This reverts r22146.

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 10:19:35 +00:00
jarin@chromium.org
1dbeb822bd Reland "Linux perf tool support update + refactoring." (r22118)
This disables the perf support in Android because of build problems with librt (should be fixable with a bit of effort, but priority is low).

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:38:52 +00:00
jarin@chromium.org
06e082c815 Revert "Linux perf tool support update + refactoring." (r22118).
Android ninja build still failing.

TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:12:08 +00:00
jarin@chromium.org
2b7580c2d4 Reland "Linux perf tool support update + refactoring."
This relands r22098.

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 12:20:21 +00:00
jochen@chromium.org
2e1a6ba72a Revert 22098 "Linux perf tool support update + refactoring."
GetCurrentThreadId doesn't compile on android

Also reverts follow up build fix attempts

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 17:21:35 +00:00
jarin@chromium.org
398a59e791 Fix build (forgot to update BUILD.gn)
TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 15:06:04 +00:00
jochen@chromium.org
a4506cd3f2 Move platform abstraction to base library
Also split v8-core independent methods from checks.h to base/logging.h and
merge v8checks with the rest of checks.

The CPU::FlushICache method is moved to CpuFeatures::FlushICache

RoundUp and related methods are moved to base/macros.h

Remove all layering violations from src/libplatform

BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:25:46 +00:00
svenpanne@chromium.org
e25f833496 Added slim versions of output streams.
R=bmeurer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 08:42:17 +00:00
marja@chromium.org
62ffc7de20 New try: Parser: Delay internalizing strings and values
This is a reincarnation of r21841.

The previous try was https://codereview.chromium.org/314603004/ but it regressed
JSBench and morejs.

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 14:03:24 +00:00
jochen@chromium.org
8a21855b7f Don't list platform-posix.cc twice on android
BUG=387326
R=marja@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 12:41:17 +00:00
vogelheim@chromium.org
7b7bb25a24 Support external startup data in V8.
[Re-retry of r21696 and r21739]

If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:52:17 +00:00
jkummerow@chromium.org
01dde7513c Add safe numerics classes, imported from Chromium.
Not used for anything yet.

R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 11:01:54 +00:00
marja@chromium.org
9ad39a8043 Revert "Parser: Delay internalizing strings and values." (r21841)
Plus the fixes on top.

Reason: regresses benchmarks (JSBench) and perf (morejs).

TBR=rossberg@chromium.org
BUG=385404
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 07:30:56 +00:00
marja@chromium.org
2b52295935 Fix gn build.
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 13:45:49 +00:00
verwaest@chromium.org
bb2b08b194 Implement LookupIterator designed to replace LookupResult
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:59:14 +00:00
mstarzinger@chromium.org
ce947a4392 Fix typos in BUILD.gn source lists
"foo,cc" is not the same as "foo.cc"

R=mstarzinger@chromium.org

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

Patch from James Robinson <jamesr@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:42:48 +00:00
mstarzinger@chromium.org
05216fdd56 Fix GN build.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 08:31:13 +00:00
mstarzinger@chromium.org
2709e30562 Revert "Fix gn build".
This was reverted due to GN build failures while rolling V8 into
Chromium. Locally reproducing it verified that this makes the GN
build pass again.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 15:34:49 +00:00
machenbach@chromium.org
6ccf6f8bf8 Revert "Support external startup data in V8."
This reverts commit r21696 for breaking chromium windows compilation in the chromium cq.

Conflicts:
	src/d8.cc

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 10:51:33 +00:00
mstarzinger@chromium.org
2d8dc7c691 Revert "Port 'external startup data' flag from gyp to gn."
This cause compile failures on the GN buildbot about 'gen/v8/libraries.bin'
missing and no known rule to make it.

TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 10:06:14 +00:00
vogelheim@chromium.org
1d29b1824b Port 'external startup data' flag from gyp to gn.
R=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 14:30:33 +00:00
jochen@chromium.org
3086f3735a Fix gn build
BUG=none
TBR=brettw@chromium.org,vogelheim@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 07:26:23 +00:00
vogelheim@chromium.org
ba9f391bc0 Support external startup data in V8.
[Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
of crrev.com/293993021. Subsequent sets are the actual fix
for that issue.]

If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:06:21 +00:00
jochen@chromium.org
799fc835f8 Move atomic ops and related files to base library
BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 12:14:47 +00:00
jochen@chromium.org
d208d2f661 Address a few TODOs in the gn config
- add direct dependant settings
- only compile mksnapshot on the host toolset

BUG=none
LOG=n
R=machenbach@chromium.org, brettw@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:45:24 +00:00
jochen@chromium.org
f136e8fcb7 Fix building android gn
BUG=none
TBR=machenbach@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 15:21:26 +00:00
mvstanton@chromium.org
e039477000 Revert "Support external startup data in V8."
This reverts commit r21646, as it blocks pushing to chromium.

TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 08:35:42 +00:00
vogelheim@chromium.org
61509aaea5 Support external startup data in V8.
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:38:35 +00:00
jochen@chromium.org
56a486c322 Use full include paths everywhere
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps

BUG=none
R=jkummerow@chromium.org, danno@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
jochen@chromium.org
1e3fba1add Add collection-iterator.js to BUILD.gn after r21615
LOG=n
BUG=none
TBR=adamk@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:26:07 +00:00
jochen@chromium.org
8e05308e6c First cut at run_mksnapshot action for gn
BUG=none
R=brettw@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 06:50:46 +00:00
jochen@chromium.org
3ea92dead3 Update gn config after r21578
TBR=bmeurer@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:10:03 +00:00
jochen@chromium.org
7a52515db8 Add a dummy v8 target to BUILD.gn so we can depend on this from chrome
BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 11:48:55 +00:00
jochen@chromium.org
6e3ffe1ca1 Extract build configuration into a separate header and move it to the base lib
With this, change, atomicops, once, and lazy instance are no longer dependant
on v8 core. I'll move them in a follow-up change to the libbase as well.

BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:07:18 +00:00
jochen@chromium.org
0d1dc27eda Reland 21482 - "Merge v8globals.h and globals.h"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/293363006

BUG=none
TBR=mstarzinger@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:28:08 +00:00
verwaest@chromium.org
53bbe2aec9 Revert "Merge v8globals.h and globals.h"
Because of tree redness.

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:39:04 +00:00
jochen@chromium.org
cd818d697d Merge v8globals.h and globals.h
BUG=none
R=mstarzinger@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:15:13 +00:00
jochen@chromium.org
b4394e5b13 Some progress on translating toolchain.gypi to gn
BUG=none
R=brettw@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 07:29:39 +00:00
jochen@chromium.org
6d2a51965a Comment out not yet used flags from BUILD.gn
gn started to complain about unused variables

BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 11:57:33 +00:00
jochen@chromium.org
34c2f56213 Update BUILD.gn and properly disable it on android
BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 09:58:46 +00:00
jochen@chromium.org
24696e1d09 Merge counters and v8-counters
BUG=none
LOG=n
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-07 07:15:24 +00:00
jochen@chromium.org
517def0bef Import features.gypi into BUILD.gn
BUG=none
R=brettw@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 15:01:24 +00:00
jochen@chromium.org
b66afe30fe Add a basic gn file for V8
Currently, the gn support is incomplete and only works from within a
chromium checkout.

See https://code.google.com/p/chromium/wiki/gn for details

We move the BUILD.gn file to v8 nevertheless to make renaming files
easier, as the chromium CQ already now checks the gn build.

BUG=none
R=brettw@chromium.org, machenbach@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 11:06:26 +00:00