Commit Graph

1445 Commits

Author SHA1 Message Date
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
machenbach@chromium.org
f7329c62ea Refactoring: Use fake cwd in release script tests.
TEST=script_test.py
R=tandrii@chromium.org
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 13:37:34 +00:00
jochen@chromium.org
6a14d7d50f Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created
> We also initialize the Isolate on creation.
>
> This should allow for getting rid of the last remaining default isolate
> traces. Also, it'll speed up several isolate related operations that no
> longer require locks.
>
> Embedders that relied on v8::Isolate to return an uninitialized Isolate
> (so they can set ResourceConstraints for example, or set flags that
> modify the way the isolate is created) should either do the setup before
> creating the isolate, or use the recently added CreateParams to pass e.g.
> ResourceConstraints.
>
> BUG=none
> LOG=y
> R=svenpanne@chromium.org
>
> Review URL: https://codereview.chromium.org/469783002

BUG=none
LOG=y
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 08:01:35 +00:00
jochen@chromium.org
525ed1130e Revert "Require V8 to be explicitly initialized before an Isolate is created"
LOG=n
TBR=svenpanne@chromium.org
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:57:10 +00:00
jochen@chromium.org
27f3cc1b9c Require V8 to be explicitly initialized before an Isolate is created
We also initialize the Isolate on creation.

This should allow for getting rid of the last remaining default isolate
traces. Also, it'll speed up several isolate related operations that no
longer require locks.

Embedders that relied on v8::Isolate to return an uninitialized Isolate
(so they can set ResourceConstraints for example, or set flags that
modify the way the isolate is created) should either do the setup before
creating the isolate, or use the recently added CreateParams to pass e.g.
ResourceConstraints.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:07:50 +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
machenbach@chromium.org
5826c82058 Make timeout configurable in performance test runner.
BUG=374740
LOG=n
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 13:00:32 +00:00
machenbach@chromium.org
d909ebd5aa Remove benchmark runner.
This has been renamed to run_perf.

BUG=374740
LOG=n
TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 11:47:47 +00:00
machenbach@chromium.org
f7ed963a9e Whitespace change to kick off bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-13 07:35:04 +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
jkummerow@chromium.org
bf7b4c12c3 Add a script that can generate simple test cases for user-exposed JS builtins
(we won't check in any such tests; they can be generated on the fly when needed)

R=mbarbella@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:58:58 +00:00
yangguo@chromium.org
c71976d55a Also rename ascii to one-byte in tool scripts.
TBR=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:56:19 +00:00
machenbach@chromium.org
d579836b9a Make merge script bypass hooks on upload.
TEST=script_test.py
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:51:13 +00:00
jkummerow@chromium.org
5cc34b6b52 Delete generated runtime tests
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:24:43 +00:00
mstarzinger@chromium.org
34a659ae80 Allow some runtime functions to accept Int32s instead of Smis.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:12:04 +00:00
v8-autoroll@chromium.org
b9614b9599 Whitespace change for bootstrapping auto roll bot.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 13:31:31 +00:00
machenbach@chromium.org
199ba41c06 Keep svn checkout up-to-date in roll scripts.
BUG=chromium:408523
LOG=n
TBR=jarin@chromium.org
TEST=script_test.py

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-07 08:11:32 +00:00
machenbach@chromium.org
e9916e90f5 Add ability to make pure svn commits to roll scripts
BUG=chromium:408523
LOG=n
TBR=jarin@chromium.org
TEST=script_test.py

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-07 08:02:05 +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
machenbach@chromium.org
a44c42a4da Add cwd to all shell commands in auto roll scripts.
The v8 root directory is assumed to be the default cwd. All
commands executed in another directory (e.g. the chromium
checkout) need an explicit specification (also in the
tests).

This also fixes several small testing and robustness bugs:
- Get rid of all 'rm ...' shell calls
- Don't leak tmp files/dirs
- Add some forgotten shell calls to the test expectations
- Hardcode the DEPS location (must always be
chromium_dir/DEPS)
- Expect correct return code when terminating gracefully

BUG=chromium:408523
LOG=n
TBR=jarin@chromium.org
TEST=script_test.py

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 09:19:48 +00:00
weiliang.lin@intel.com
7a690932aa X87: Make concrete classes for individual call descriptors
port r23639

original commit message:

  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.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 02:11:31 +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
machenbach@chromium.org
485168c8c6 Return 0 when roll scripts terminate gracefully.
BUG=408523
LOG=n
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 10:19:44 +00:00
machenbach@chromium.org
55dc65f558 Make lookup of last v8 roll work with pure git.
BUG=410721
LOG=n
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 09:56:29 +00:00
machenbach@chromium.org
33e56ef889 Make auto_roll run with a pure git checkout.
BUG=410721
LOG=n
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 08:42:21 +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
machenbach@chromium.org
63e33ba0a0 Add more output when roll scripts are retrying.
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 14:38:28 +00:00
jarin@chromium.org
7572e779d0 Exclude LoadMutableDouble and FunctionBindArguments from fuzzing.
BUG=409542,410262
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 14:28:46 +00:00
v8-autoroll@chromium.org
8a124e7b56 Whitespace change to test roll account.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 13:48:20 +00:00
machenbach@chromium.org
258ac97bac Correctly overwrite author in chromium roll script.
BUG=408523
LOG=n
R=jarin@chromium.org
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 11:59:43 +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
machenbach@chromium.org
6a0567a9ea Add dry-run feature to auto roll scripts.
BUG=408523
LOG=n
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 08:29:53 +00:00
machenbach@chromium.org
96c8427120 Make chromium-roll script non-interactive.
BUG=408523
LOG=n
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 06:50:18 +00:00
machenbach@chromium.org
2f6e39d760 Refactoring: Unify all mocks in auto roll tests.
This allows to use shell command, readline and url
expectations in the same list, which makes their interaction
more explicit.

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 15:21:45 +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
machenbach@chromium.org
59ba3244f6 Refactoring: Unify mocks of different commands in auto roll tests.
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 13:20:37 +00:00
machenbach@chromium.org
f445df9061 Fix chromium update in chromium roll script.
Needs an extra 'git pull' after a gclient sync, because the solution is
unmanaged now.

TBR=jarin@chromium.org,hinoka@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 12:56:07 +00:00
machenbach@chromium.org
20de507b21 Refactoring: Unify command mocks in v8 roll tests.
This unifies all mocks for shell commands (like git, svn,
gclient). The command name is now explicitly stated in the
test expectations, which allows to correctly test the few
commands that are not git.

TEST=./script_test.py
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 12:51:30 +00:00
machenbach@chromium.org
2a92afe1a4 Fix imports in test runner.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 12:46:27 +00:00
machenbach@chromium.org
05b6de841a Whitespace change to test v8-autoroll account.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:43:08 +00:00