Commit Graph

2003 Commits

Author SHA1 Message Date
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
134bba4967 Use runtime.h to look for runtime function names.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:04:34 +00:00
machenbach@chromium.org
68c405154b Whitespace change to test new chromium deps.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 13:43:00 +00:00
machenbach@chromium.org
0b22118a68 Whitespace change to test new chromium deps.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 13:17:12 +00:00
machenbach@chromium.org
cab6380412 Whitespace change to test new chromium deps.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 12:47:20 +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
machenbach@chromium.org
98e9e05092 Refactoring: Remove global configs in release scripts.
TBR=tandrii@chromium.org
TEST=script_test.py

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 14:41:36 +00:00
machenbach@chromium.org
a77dfb1ac6 Refactoring: Remove more legacy from release scripts.
- Remove an unused feature that allowed to check for required
  data before each script step.
- Use a relative path to the version file. In the production
  environment, this will point to the cwd/version_file, while
  in the test environment it is fake_cwd/version_file.

TBR=tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 09:35:49 +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
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
v8-autoroll@chromium.org
b419fafcd8 Whitespace change from pure svn to test roll account.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:40:43 +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
machenbach@chromium.org
3ca77d4bef Fix test runner imports.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:18:47 +00:00
v8-autoroll@chromium.org
9bd36b8d13 Whitespace change to test v8-autoroll account.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 10:33:20 +00:00
machenbach@chromium.org
f74f980aa3 Whitespace change to test v8-autoroll account.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 10:17:28 +00:00
machenbach@chromium.org
4f0a65da7b Whitespace change to test v8-autoroll account.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 10:11:44 +00:00
machenbach@chromium.org
bb222013ff Whitespace change to test v8-autoroll account.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 10:03:53 +00:00
machenbach@chromium.org
b4adc1a12b Reland "Refactoring: Make gtest testsuite the default."
BUG=v8:3489
TBR=bmeurer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 09:21:03 +00:00
machenbach@chromium.org
b77cb4a793 Revert "Refactoring: Make gtest testsuite the default."
This reverts commit cb8f08658767e7e3182e5deab0473f264f6ce92f.

TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 09:17:26 +00:00
machenbach@chromium.org
a050734c35 Refactoring: Make gtest testsuite the default.
BUG=v8:3489
R=bmeurer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 09:11:13 +00:00
bmeurer@chromium.org
30f18f0f7d Use Chrome compatible naming for compiler specifics.
Less useless creativity is best creativity!

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 07:07:52 +00:00
machenbach@chromium.org
68ec08240c Add test driver with the notion of perf tests.
BUG=374740
LOG=n
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 14:27:44 +00:00
weiliang.lin@intel.com
5c782b9d8c X87: Refactoring InterfaceDescriptors away from code-stubs.h
port r23515.

original commit message:
  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.

BUG=
R=mvstanton@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 14:00:25 +00:00
machenbach@chromium.org
fee7bcccca Add mapping of test groups to test driver.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:48:36 +00:00
bmeurer@chromium.org
b22724966b [turbofan] Merge compiler unit tests into src.
BUG=v8:3489
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:26:12 +00:00
yangguo@chromium.org
fa1bf00e6a Port fdlibm implementation for Math.cosh.
R=rtoy@chromium.org
BUG=v8:3494
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:36:00 +00:00
bmeurer@chromium.org
58a5d15ba7 Merge heap unit tests into src.
Also rip out the unused runtime-unittests; will be added back on-demand.

BUG=v8:3489
LOG=n
R=ulan@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:12:50 +00:00
bmeurer@chromium.org
4edcff907f Refactor libplatform unit tests to use GTest/GMock.
Also migrate them to src.

BUG=v8:3489
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 07:13:55 +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
rmcilroy@chromium.org
bf81e33283 Fix missing bracket in gyp file from r23522.
TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:11:00 +00:00
rmcilroy@chromium.org
1e14742ed2 Properly separate host and target builds when using external natives.
R=rmcilroy@chromium.org, vogelheim@chromium.org

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

Patch from André Baixo <baixo@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:04:59 +00:00
bmeurer@chromium.org
e552ffc687 Revert "Move base library definitions from v8.gyp to base.gyp."
This reverts commit r23518 for breaking Blink bots.

TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 12:30:50 +00:00
bmeurer@chromium.org
5a37d2276f Move base library definitions from v8.gyp to base.gyp.
Less confusion is best confusion.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 11:18:50 +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
yangguo@chromium.org
8938126d1b Port fdlibm implementation for Math.sinh.
R=rtoy@chromium.org
BUG=v8:3493
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 09:32:51 +00:00
machenbach@chromium.org
8aa7bb8a10 Let benchmark runner add summary traces.
BUG=374740
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 14:42:24 +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
machenbach@chromium.org
c21026c816 Fix chromium update in auto-roller.
BUG=
R=hinoka@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 13:13:40 +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
machenbach@chromium.org
af08d3f286 Fix chromium sync command in auto-roller.
TBR=hinoka@chromium.org, jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 09:54:03 +00:00
machenbach@chromium.org
f435a218a5 Keep chromium checkout up to date in auto roller.
R=hinoka@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 09:38:55 +00:00
machenbach@chromium.org
7b7841090d Whitespace change to check MSVS 2013.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 09:18:24 +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
weiliang.lin@intel.com
ef21aa93b7 X87: Move register conventions out of the IC classes.
port r23391.

original commit message:
  Move register conventions out of the IC classes.
  A change to a convention shouldn't require recompilation of ic.h/.cc.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 04:49:41 +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
machenbach@chromium.org
48bf3a1065 Whitespace change to verify MSVS2013 transition.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 07:22:46 +00:00
weiliang.lin@intel.com
8681a11022 X87: Move handler compilers to handler-compiler
port r23346.

original commit message:
  Move handler compilers to handler-compiler

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 03:56:24 +00:00
machenbach@chromium.org
801129919e Teach chromium_roll script to roll v8 git hashes.
TEST=script_test.py
R=hinoka@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 20:04:23 +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
machenbach@chromium.org
fa39a574cb Teach v8rel script to read git hashes from DEPS.
The chromium DEPS file can refer to v8 git hashes now. These
are converted back into svn revision numbers for the v8
releases spreadsheet.

The DEPS file's quotation mark policy changed which affects
the regexp for retrieving the v8 revision ("->').

TEST=script_test.py
TEST=tools/push-to-trunk/releases.py -c /path/to/chromium/src --branch recent
R=hinoka@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 13:39:43 +00:00
weiliang.lin@intel.com
c69a9409a0 X87: Move PropertyAccessCompiler and CallOptimization to their own files
port r23320.

orginal commit message:

  Move PropertyAccessCompiler and CallOptimization to their own files

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 12:40:11 +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
weiliang.lin@intel.com
d171b9d535 x87: Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
port r23306.

original commit message:
   Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler.

BUG=
R=verwaest@chromium.org, weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:00:04 +00:00
machenbach@chromium.org
8545f713c6 Teach benchmark runner to understand generic traces.
BUG=406405
LOG=n
TEST=python -m unittest run_benchmarks_test
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-24 14:32:44 +00:00
machenbach@chromium.org
6d6749dced Whitespace change after chromium git transition.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-24 08:17:27 +00:00
machenbach@chromium.org
21edb1153c Whitespace change for chromium git migration.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-23 06:16:27 +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
machenbach@chromium.org
082b65c5db Make v8 releases script ready for chromium git switch.
This uses chromium commit numbers that are supported after
the chromium git switch. Most functionality is copied from
the bot_update.py script from tools/build.

This also enables mapping bleeding edge revisions to chromium
revisions (previously the data was only retrieved for trunk).

TEST=script_test.py
TEST=tools/push-to-trunk/releases.py -c /path/to/chromium/src --branch recent

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 14:30:37 +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
bcef1fa497 Add missing test directories to presubmit.py.
R=machenbach@chromium.org
BUG=v8:3489
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 07:54:41 +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
machenbach@chromium.org
e8d4bfc8a3 Allow to combine quickcheck and no_variants in test driver.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:38:14 +00:00
machenbach@chromium.org
61446ed085 Whitespace change to test new unit tests.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 19:12:41 +00:00
yangguo@chromium.org
930e5ccc3e Implement Math.expm1 using port from fdlibm.
R=rtoy@chromium.org
BUG=v8:3479
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:24:07 +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
yangguo@chromium.org
8cb41618ce Blacklist %InternalSetProperty from runtime test fuzzing.
R=verwaest@chromium.org
BUG=405499
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 12:51:48 +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
jkummerow@chromium.org
45219bd84f Check in "cpu.sh" script to control CPU governor/cores on Linux
This can help with reproducing stability bugs or performance issues.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:39:37 +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
rossberg@chromium.org
30af557955 Implement ES6 Array.of()
BUG=v8:3427
LOG=N
R=rossberg@chromium.org

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

Patch from Diego Pino <dpino@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 11:38:38 +00:00
bmeurer@chromium.org
10678fb22f Setup heap-unittests and runtime-unittests.
Initial import of empty unit test suites for Toon and Hannes.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 10:54:54 +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
titzer@chromium.org
9803a72417 Unify MachineType and RepType.
MachineType now tracks both the representation and the value type of machine quantities and is used uniformly throughout TurboFan.

These types can now express uint8, int8, uint16, and int16, i.e. signed and unsigned smallish integers. Note that currently only uint8 and uint16 are implemented in the TF backends.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:19:54 +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
mstarzinger@chromium.org
8b7dd630da Move %IsOptimized runtime helper into test case.
R=jarin@chromium.org
TEST=cctest/test-run-deopt

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:09:50 +00:00
dslomov@chromium.org
d2fe3e68ea Add "own" symbols support.
"Own" symbols are symbols that can only denote own properties of
objects.

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

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 15:28:20 +00:00
yangguo@chromium.org
0f81d7698a Implement Math.log1p using port from fdlibm.
Port contributed by Raymond Toy <rtoy@google.com>.

R=rtoy@chromium.org
LOG=N
BUG=v8:3481

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:36:33 +00:00
machenbach@chromium.org
d98282800a Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 11:46:46 +00:00
machenbach@chromium.org
a9793f8964 Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 10:48:37 +00:00
bmeurer@chromium.org
51846f64db Initial import of ChangeLowering.
ChangeLowering is a Reducer to lower simplified change operators
to machine subgraphs. This initial version supports ChangeBitToBool,
ChangeBoolToBit, ChangeTaggedToFloat64 and ChangeInt32ToTagged.

TEST=compiler-unittests/change-lowering-unittest
BUG=v8:3489
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 08:24:20 +00:00
dslomov@chromium.org
dc4c277589 Revert "Add "own" symbols support."
This reverts commit r23056 for breaking Mac x64 test.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 21:44:08 +00:00
dslomov@chromium.org
88f65f2c52 Add "own" symbols support.
"Own" symbols are symbols that can only denote own properties of
objects.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 18:59:38 +00:00
titzer@chromium.org
6fa2cee262 Move MachineRepresentation to machine-type.h and rename to MachineType in preparation for merging it with RepType.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 15:55:28 +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
jochen@chromium.org
d5980902be When dumping the stack, try to print contents as ASCII
This makes it easier to find strings that are on the stack for debugging

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:16:43 +00:00
machenbach@chromium.org
943960dfd1 Skip gmock and gtest in presubmit.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:07:08 +00:00
verwaest@chromium.org
d094d0fb44 Tag all prototypes as proto, except those set using __proto__
BUG=
R=ishell@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:00:58 +00:00
machenbach@chromium.org
4eb72d0256 Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 12:14:45 +00:00
machenbach@chromium.org
216e6618db Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 06:44:17 +00:00
machenbach@chromium.org
7f156ffefa Fix v8 landmines script.
Currently, some builders are in a clobber-landmine loop.

Clobber deletes the .landmines tracker (sigh). Difficult to
know if we are right after a clobber or if it is first-time
landmines deployment. Also, a landmine-triggered clobber
right after a clobber is not possible. Different clobber
methods for msvs, xcode and make all have different
blacklists of files that are not deleted.

After the branch point, all v8 branch builders have to be
manually clobbered, because the appearance of the
landmines.py script and the first landmine request are in
the same branch CL.

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-09 08:31:01 +00:00
machenbach@chromium.org
68b933007c Reland debug output for landmines
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 18:33:58 +00:00
machenbach@chromium.org
b59ed8d062 Revert "Add temporary output to debug landmines."
This reverts commit 0bfb2300939fe4e540d4a2fd80a040dd689710b8.

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 16:11:41 +00:00
machenbach@chromium.org
02d8625779 Add temporary output to debug landmines.
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 16:05:19 +00:00
rossberg@chromium.org
d9d6a60973 Enable ES6 unscopables
R=yangguo@chromium.org
BUG=v8:3401
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:42:59 +00:00
svenpanne@chromium.org
adeac1a32c Unbreak gcmole bots.
Switching on C++11 features for gcmole might actually be a good idea... :-}

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 10:37:45 +00:00
rossberg@chromium.org
5427ea5285 Remove proxies from --harmony switch for M38, because problems
They can still be activated separately using the --harmony-proxies switch,
but are no longer implied by Chrome's "Experimental JavaScript" option.

R=yangguo@chromium.org
BUG=
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 09:58:19 +00:00
bmeurer@chromium.org
12e8b34b07 Reland "Add initial support for compiler unit tests using GTest/GMock.".
LOG=y
BUG=v8:3489
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 07:04:07 +00:00
machenbach@chromium.org
affd31f267 Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 06:29:49 +00:00
adamk@chromium.org
c068a606f2 Remove suppressions for Blink webexposed tests
BUG=400507
LOG=N
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 19:57:41 +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
svenpanne@chromium.org
6e75bfc35b Update gcmole to a more recent clang/llvm.
* Changes for 2.9:
     * Use CXX in Makefile instead of hardwired g++, we need a more
       modern GCC than 4.6 later, anyway.

* Changes for 3.0:
     * Use llvm namespace.
     * Diagnostic => DiagnosticsEngine.

* Changes for 3.1:
     * The BlockDeclRefExpr AST node is gone.
     * The structure of the CXXNewExpr AST node has changed.
     * Path changed from Release to Release+Asserts.
     * Use clang++ instead of -cc1, otherwise we lose the system include
       paths.

* Changes for 3.2:
     none needed

* Changes for 3.3:
     * Use lookup_iterator::begin/end instead of first/second.

* Changes for 3.4:
     * createItaniumMangleContext => ItaniumMangleContext::create.

* Changes for 3.5:
     * clang uses <type_traits> now, so -std=c++0x is needed.
     * Type-trait-related AST changes.
     * getCustomDiagID signature changed.
     * We must link the C++ library statically now.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 12:56:53 +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
machenbach@chromium.org
81904ff0f9 Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 20:50:29 +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
bmeurer@chromium.org
38ca3f4fc2 Revert "Add initial support for compiler unit tests using GTest/GMock."
This reverts commit r22927 for breaking build.

TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:59:02 +00:00
bmeurer@chromium.org
1f1e9495e5 Add initial support for compiler unit tests using GTest/GMock.
TEST=compiler-unittests
BUG=v8:3489
LOG=y
R=svenpanne@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:52:47 +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
yangguo@chromium.org
3b54f89ffa Trigger exception debug events on Promise reject.
R=rossberg@chromium.org, aandrey@chromium.org
BUG=393913
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:41:52 +00:00
bmeurer@chromium.org
ef17fe7633 Refactor unit tests for the base library to use GTest.
TEST=base-unittests
BUG=v8:3489
LOG=y
R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:35:21 +00:00
yangguo@chromium.org
0fb57e51d4 Check that external references are registered in the serializer.
Inspired by a patch by Slava Chigrin <vchigrin@yandex-team.ru>

R=jkummerow@chromium.org, vchigrin@yandex-team.ru

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 07:20:14 +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
machenbach@chromium.org
d535f9896d Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 14:39:25 +00:00
bmeurer@chromium.org
ecec301571 Revert "Initial import of unittests using GTest/GMock."
This reverts commit r22847 and r22848. Isolate initialization/shutdown
still broken (so certain debug builds just crash), and our compiler flags
do not work with other Google projects (i.e. GTest/GMock).

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 10:16:47 +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
bmeurer@chromium.org
62ac0d1050 Initial import of unittests using GTest/GMock.
R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:07:25 +00:00
yangguo@chromium.org
90bbdacbf8 Merge three PromiseEvent's into one.
This also adds missing instrumentation and removes resolver tracking.

BUG=v8:3093
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:42:06 +00:00
adamk@chromium.org
cca73459fe Mark global-constructors-listing as failing in TestExpectations
They're failing due to the addition of Symbol to the global scope.
These expectations can be removed once https://codereview.chromium.org/436353002
lands and gets picked up by the V8 webkit bots.

BUG=400507
LOG=N
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 23:59:25 +00:00
adamk@chromium.org
d8c30bd8e7 Enable ES6 Symbols by default
In doing so also remove all references to the --harmony-symbols flag.
Due to the way context snapshotting works, it's not possible to simply enable
the flag by default.

BUG=v8:2158
LOG=Y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 18:17:54 +00:00
bmeurer@chromium.org
0bd7c29dbf Fix tools/generate-runtime-tests.py.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:45:52 +00:00
bmeurer@chromium.org
d07a2eb806 Rename ASSERT* to DCHECK*.
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.

R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
jkummerow@chromium.org
f66ddb1845 Tick processor: improved [Summary] section
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 08:31:49 +00:00
machenbach@chromium.org
7682126ac2 Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-02 12:52:28 +00:00
machenbach@chromium.org
393696527c Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 15:31:13 +00:00
machenbach@chromium.org
966d431c69 Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 15:24:42 +00:00
mstarzinger@chromium.org
204f1ce879 Extend TF test coverage to supported targets.
R=danno@google.com, titzer@chromium.org
TEST=all

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 10:47:01 +00:00
mstarzinger@chromium.org
4491e0e12e Implement lowering of JSStoreContext to machine operators.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 09:23:07 +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
machenbach@chromium.org
57861e4370 Whitespace change to trigger bots.
TBR=machenbach@chromium.org
NOTREECHECKS=true
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 14:07:13 +00:00
mstarzinger@chromium.org
67388ea26a Implement lowering of JSLoadContext to machine operators.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:20:36 +00:00
machenbach@chromium.org
ec91e4ef42 Whitespace change to trigger bots.
TBR=machenbach@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 06:36:59 +00:00
danno@chromium.org
a1383e2250 Land the Fan (disabled)
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
jkummerow@chromium.org
49233c9972 Throw an exception when an access check fails and no external callback is installed
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 09:31:06 +00:00
verwaest@chromium.org
47f9d3ed52 Restore DefineApiAccessorProperty
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 08:09:14 +00:00
machenbach@chromium.org
31dd24fe36 Whitespace change to trigger bots.
TBR=machenbach@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 07:07:30 +00:00
machenbach@chromium.org
da0a2f8c7b Whitespace change to trigger bots.
TBR=machenbach@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 06:30:08 +00:00
machenbach@chromium.org
e251f91f0c Teach releases script to read bleeding_edge tags.
The command 'git svn log' does unfortunately not provide the tag-revision relation. We therefore use 'svn log' to retrieve it from the remote repository.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 13:49:07 +00:00
danno@chromium.org
afcfa7d2b7 Keep new arrays allocated with 'new Array(N)' in fast mode (revisited)
Also explicit length setting with a.length = N should remain in fast mode.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 13:12:26 +00:00
danno@chromium.org
b5a5148260 Revert 22595: "Keep new arrays allocated with 'new Array(N)' in fast mode"
Due to failures in mjsunit/array-functions-prototype-misc

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 13:38:05 +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
danno@chromium.org
ac89b17813 Keep new arrays allocated with 'new Array(N)' in fast mode
Also explicit length setting with a.length = N should remain in fast mode.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:08:23 +00:00
yangguo@chromium.org
63fb538128 Introduce more debug events for promises.
BUG=v8:3093
LOG=Y
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 10:43:41 +00:00
machenbach@chromium.org
c218c20e54 Fix automatic tagging.
BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 07:36:25 +00:00
machenbach@chromium.org
0151837e98 Whitespace change to trigger bots.
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 18:58:43 +00:00
machenbach@chromium.org
f5a4b26061 Add tsan support to v8's gyp and test driver.
Tests only the default variant for now.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 13:14:26 +00:00
danno@chromium.org
51ff0b5e97 tools: more post-mortem constants
Expose more info about post-mortem constants

Useful for node.js and/or other tools.

BUG=
R=danno@chromium.org

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

Patch from Fedor Indutny <fedor.indutny@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 10:48:16 +00:00
machenbach@chromium.org
8c8e528850 Fix version check in push-to-trunk.
The local master branch is not kept up-to-date by the script.

BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 09:25:36 +00:00
yangguo@chromium.org
c3edd49265 Expose the content of Sets and WeakSets through SetMirror.
BUG=v8:3093
LOG=Y
R=aandrey@chromium.org, arv@chromium.org, yangguo@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 07:33:47 +00:00
machenbach@chromium.org
049b4ad5e4 Fix automatic version update.
This fixes two things:
1. Guarantee that versions are bumped up also when presubmit errors exists. Those errors originate from other CLs and should not stop the automatic versioning.
2. Calculate the last bleeding edge version when pushing to trunk based on remote branch svn/bleeding_edge and not on local branch master. The master branch is not kept up-to-date by the script.

BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 12:13:36 +00:00
rossberg@chromium.org
8023c9f564 Implement basic code generation for arrow functions
Implements code generation for arrow functions by desugaring them into
a FunctionLiteral. For the moment, a normal FUNCTION_SCOPE is used, so
"this" and "arguments" behave as in normal functions. Implementing the
correct scoping rules is to be done later on.

BUG=v8:2700
LOG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:58:01 +00:00
yangguo@chromium.org
1eacdd55a0 Implement String.prototype.codePointAt and String.fromCodePoint.
Contributed by Mathias Bynens <mathiasb@opera.com>.

TBR=mathiasb@opera.com, rossberg@chromium.org
BUG=v8:2840
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:45:32 +00:00
yangguo@chromium.org
219e763155 Expose the content of Maps and WeakMaps through MapMirror.
BUG=v8:3291
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:07:04 +00:00
machenbach@chromium.org
d9fa8f77e8 Add automatic tag script.
The script can be run in a cron job to automatically tag
lkgrs.

BUG=391261
LOG=n
TEST=tools/push-to-trunk/script_test.py
TEST=tools/push-to-trunk/auto_tag.py --dry_run
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:16:14 +00:00
yangguo@chromium.org
e3d9037121 Revert "Expose the content of Maps and WeakMaps through MapMirror."
This reverts r22452.

TBR=amikhaylova@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 16:43:52 +00:00
yangguo@chromium.org
4116944ced Expose the content of Maps and WeakMaps through MapMirror.
BUG=v8:3291
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 15:07:59 +00:00
yangguo@chromium.org
d1333142e2 Ship ES6 Math functions.
R=rossberg@chromium.org
BUG=v8:2938
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 14:00:15 +00:00
vogelheim@chromium.org
a42612b4a7 Change ScriptCompiler::CompileOptions to allow for two 'cache' modes
(parser or code) and to be explicit about cache consumption or production
(rather than making presence of cached_data imply one or the other.)

Also add a --cache flag to d8, to allow testing the functionality.

-----------------------------
API change

Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any).

Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present.

Changes from old behaviour:

- If you previously didn't use caching, nothing changes.
Example:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);

- If you previously used caching, it worked like this:

  - 1st run:
  v8::CompileUnbound(isolate, source, kProduceToCache);
  Then, source->cached_data would contain the
  data-to-be cached. This remains the same, except you
  need to tell V8 which type of data you want.
  v8::CompileUnbound(isolate, source, kProduceParserCache);

  - 2nd run:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);
  with source->cached_data set to the data you received in
  the first run. This will now ignore the cached data, and
  you need to explicitly tell V8 to use it:
  v8::CompileUnbound(isolate, source, kConsumeParserCache);
-----------------------------

BUG=
R=marja@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:18:33 +00:00
mstarzinger@chromium.org
5963ae48a8 Rename [Load/Delete]ContextSlot for consistency after r22379.
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:03:33 +00:00
machenbach@chromium.org
ba37e4f9c8 Properly escape benchmark names when retrieving results.
This allows benchmarks to contain regular expression characters in their name.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:54:34 +00:00
machenbach@chromium.org
522beebb1a Allow benchmarks to provide the standard deviation.
Some benchmarks include their own runner which provides an
overall average and a standard deviation. This enables
extraction of that value similar to the other measurements.

These benchmarks should only be run once. If a benchmarks
specifies multiple runs and provides a standard deviation,
a warning will be issued that makes the build fail on the
buildbot side.

TEST=python -m unittest run_benchmarks_test
BUG=393947
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 08:53:46 +00:00
machenbach@chromium.org
570ea3bf5d Add script to bump up version on bleeding edge.
The version.cc file will from now on be controlled on
bleeding edge and on trunk. The next version to use will
always be max(bleeding_edge_version, trunk_version) + 1.

The trunk and bleeding_edge versions are not semantically
tied together. The trunk branch can be used to make
independent point releases of bleeding_edge revisions.

The version on bleeding_edge will be increased if:
- the lkgr version is smaller than the version of the latest
  revision,
- the lkgr version is not a version change itself,
- the tree is not closed for maintenance.

This will allow chromium to refer directly to bleeding_edge
revisions of v8. The v8 versions will not be unique, but
they will change as often as possible, dependent on the lkgr
cycle time and the frequency this script is called.

BUG=391261
LOG=n
TEST=tools/push-to-trunk/script_test.py
TEST=tools/push-to-trunk/bump_up_version.py --dry_run
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 07:57:13 +00:00
verwaest@chromium.org
1d55a634a9 Replace AddProperty by AddNamedProperty to speed up the common case
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:05:30 +00:00
verwaest@chromium.org
aa7198dfdd This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:01:04 +00:00
machenbach@chromium.org
4493756dcb Whitespace change to trigger bots.
TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 09:27:07 +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
machenbach@chromium.org
df3c11d760 Whiltespace change to trigger bots.
TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-12 16:56:32 +00:00
machenbach@chromium.org
ac96f2d727 Whiltespace change to trigger bots.
TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-12 15:27:18 +00:00
machenbach@chromium.org
aa2aaa0831 Whitespace change to trigger bots.
BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 13:29:12 +00:00
machenbach@chromium.org
d0e1daf357 Whitespace change to trigger bots.
BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 12:37:53 +00:00
machenbach@chromium.org
316e4ad297 Whitespace change to trigger bots.
BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 12:28:22 +00:00
machenbach@chromium.org
0a5a0cc36c Whitespace change to trigger bots.
BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 11:54:33 +00:00
machenbach@chromium.org
500b76d5be Only compare allocation output in predictable mode.
This also adds an assert that makes sure allocations are printed.

BUG=391747
LOG=n
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 09:48:31 +00:00
machenbach@chromium.org
562274b60d Fix number of times failures are rerun.
BUG=374134
LOG=n
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 12:48:08 +00:00
svenpanne@chromium.org
5f2bd30bb4 Fixed expected builtins count
TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 12:11:35 +00:00
machenbach@chromium.org
13f4c91276 Fix test driver output for passes in predictable mode.
Passes in predictable mode were wrongly reported as failures by the json progress indicator. This moves control about what is reported completely to execution.py.

BUG=391747
LOG=n
R=ishell@chromium.org, jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:37:36 +00:00
rossberg@chromium.org
23753270ba Fix several issues with ES6 redeclaration checks
R=ulan@chromium.org
BUG=v8:3426
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:35:05 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06 Add mips64 port.
Summary:

- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.

- On mips64 simulator all tests pass from all test units.

- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.

- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*

TEST=
BUG=
R=danno@chromium.org, plind44@gmail.com, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
mstarzinger@chromium.org
cb778b24ae Fix trailing whitespace in gdbinit file.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 10:55:55 +00:00
machenbach@chromium.org
e3e03d80ef Add predictable mode to test driver.
BUG=391747
LOG=n
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 15:59:23 +00:00
jkummerow@chromium.org
34e09e5644 Add gdbinit to tools/ directory.
Suggested usage: echo "source /path/to/v8/tools/gdbinit" >> ~/.gdbinit

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 16:21:29 +00:00
jochen@chromium.org
9230c1f3ca Reland^3 r22105 "Remove static initializer from isolate"
This time:
When accessing the isolate from the sampler signal handler, don't try
to take the global lock. A sampler should only be active if there is
already an isolate on that thread, so we don't need to check whether
the TLS key is already created.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 10:56:36 +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
aandrey@chromium.org
952a986dd1 Introduce debug events for Microtask queue.
R=yangguo@chromium.org, adamk@chromium.org, rafaelw@chromium.org, rossberg@chromium.org
BUG=chromium:272416
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 15:56:01 +00:00
yangguo@chromium.org
f3b9ece6a4 Revert "Reland^2 r22105 "Remove static initializer from isolate""
This reverts r22167.

BUG=v8:3421
LOG=N
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:33:16 +00:00
machenbach@chromium.org
ba584456e6 Fix result status of rerun flaky tests.
Tests that pass on reruns where wrongly treated as failures. Now the result state can include any of (PASS, FAIL, CRASH, TIMEOUT)

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 09:33:22 +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
abb0ff205c Buildfix for windows after r22180
TBR=yangguo@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:57:29 +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
machenbach@chromium.org
cf88d3c953 Fix rerun barrier for flaky tests.
- The rerun flag doesn't include the first run.
- Timeout is an int. The division makes it 0 for small
numbers.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:33:21 +00:00
jochen@chromium.org
d8aefde617 Reland^2 r22105 "Remove static initializer from isolate"
Make Isolate::UncheckedCurrent() return NULL if Isolate wasn't yet initialized
to avoid reentrancy when running with the profiler

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:43:54 +00:00
yangguo@chromium.org
44d6ef37ab Reland "Fix stack trace accessor behavior."
BUG=v8:3404
LOG=N
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:18:10 +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
machenbach@chromium.org
4d55c22827 Add information about rerun tests to json output.
BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 09:12:07 +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
machenbach@chromium.org
ae017be69c Let test runner rerun failures to test for flakes.
When enabled, this dynamically adds jobs that had failures back to the pool. Special json output for flakes will be handled in a separate CL.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:15:44 +00:00
jochen@chromium.org
539c6183e3 Revert "Reland 22105 "Remove static initializer from isolate""
BUG=none
TBR=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:44:02 +00:00
jochen@chromium.org
8fc4a8e1b3 Reland 22105 "Remove static initializer from isolate"
R=dcarney@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:04:44 +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
verwaest@chromium.org
cf094f48e9 Improve error reporting for duplicate object template properties.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 10:00:19 +00:00
jochen@chromium.org
9acb3bcbb2 Revert 22105 "Remove static initializer from isolate"
Fails to run on mac

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 07:07:50 +00:00
jochen@chromium.org
bb169b93ae Remove static initializer from isolate
We don't have a default isolate anymore, so we can just create the
thread data and keys on demand

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 06:43:14 +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
1f338fa2e8 Linux perf tool support update + refactoring.
This adds timestamps to allow profiling with code space reuse. Also a couple of updates to reflect the changes in the JIT perf interface + a move of the perf-related stuff into separate files.

Unfortunately, the change only works with the latest patch  to the perf tool from a Linux perf tool contributor (Stephane Eranian).

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 14:35:58 +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
yangguo@chromium.org
5d408ee73d Revert "Fix stack trace accessor behavior."
This reverts r22089.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:16:42 +00:00
yangguo@chromium.org
e1d80e2858 Fix stack trace accessor behavior.
R=verwaest@chromium.org
BUG=v8:3404
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 11:48:20 +00:00
yangguo@chromium.org
f6c4178aa7 Introduce debug events for promises.
R=aandrey@chromium.org, rossberg@chromium.org
BUG=v8:3093
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 11:12:42 +00:00
danno@chromium.org
9176485c8b Support non-internalized string key lookups in Hydrogen KeyedLoadIC
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-28 00:33:04 +00:00
machenbach@chromium.org
134e50142f Whitespace change to trigger bots.
TBR=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 18:30:14 +00:00
vogelheim@chromium.org
86529a1826 Build "snapshot_blob.bin" only for the host when using separate toolsets.
BUG=389310
LOG=N
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 16:47:25 +00:00
verwaest@chromium.org
63431b23d1 Split SetProperty(...attributes, strictmode) into DefineProperty(...attributes) and SetProperty(...strictmode)
BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 13:48:37 +00:00
yangguo@chromium.org
0133d96be3 Remove script collected debug event.
R=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 12:10:43 +00:00
machenbach@chromium.org
0fbb59747c Whitespace change to trigger bots.
TBR=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 10:28:44 +00:00
machenbach@chromium.org
9d0988b0fe Let test driver nuke test perf data on errors.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 09:51:08 +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
danno@chromium.org
eaca750b29 Remove distinction between hidden and normal runtime functions
R=jkummerow@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 15:26:10 +00:00
machenbach@chromium.org
bd7652f1f5 Whitespace change to trigger bots.
TBR=jkummerow@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 14:24:15 +00:00
machenbach@chromium.org
79b1f09d16 Fix tools/whitespace.txt. Huge perf improvements.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 14:14:54 +00:00
machenbach@chromium.org
70ef1c240f Whitespace change to trigger bots.
TBR=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 10:36:02 +00:00
wingo@igalia.com
bf8e802f1a Add @@iterator, .entries(), .values(), .keys() support to typed arrays
R=arv@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:46:53 +00:00
machenbach@chromium.org
52ef087dcf Fix clusterfuzz check in auto-roll.
Minor fixes: Strip new lines from api key. Missing import. Use string query parameters.

BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:44:59 +00:00
machenbach@chromium.org
7833a1321c Add clusterfuzz check to v8 auto-roll script and use CQ.
This adds a check step that makes sure there are no new issues when rolling into chromium.

It also checks the cq bit on roll upload.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:17:45 +00:00
wingo@igalia.com
699bc8f73d Add @@iterator support for strings
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 07:43:14 +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
machenbach@chromium.org
9d58d1428a Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 13:55:26 +00:00
baptiste.afsa@arm.com
f10c5574b0 ARM64: Enable low level profiling.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 12:40:20 +00:00
haitao.feng@intel.com
5970d4fa10 Add X32 port into V8
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 05:27:44 +00:00
adamk@chromium.org
257adcf0ed Map/Set: Implement constructor parameter handling
When an iterable object is passed in as the argument to the Map and Set
constructor the elements of the iterable object are used to populate the
Map and Set.

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-map-iterable
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-iterable

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

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 18:05:57 +00:00
Jacob.Bramley@arm.com
add767f139 ARM64: Optimize generated code for gaps
R=ulan@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 16:00:53 +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
rmcilroy@chromium.org
7f429e62c3 [Arm]: Simplify compile-time Arm feature detection.
Simplify the compile time feature detection on Arm:
 - Define CAN_USE_XXX definitions unconditionally for all target/host
   toolchain combinations
 - Rename arm_test / ARM_TEST to arm_test_noprob / ARM_TEST_NO_FEATURE_PROBE
 - Don't set ARM_TEST_NO_FEATURE_PROBE implicitly on the simulator to make
   make simulator / native more consistent
 - Unify CpuFeatures::PrintTarget for simulator and native builds
 - Remove unecessary CAN_USE_VFP_INSTRUCTIONS definition for android (this is
   the default for arm_fpu=default)
 - Add a CpuFeatures::Probe() before calling CpuFeatures::PrintFeatures() in PrintHelp
    to ensure we have probed features before printing them.

BUG=384474
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 12:19:54 +00:00
verwaest@chromium.org
d06afb3ce0 Remove AccessControl from AccessorPairs, as it's an invalid usecase of AllCan*
BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 09:02:16 +00:00
mstarzinger@chromium.org
fec6e62dfb Check alpha-sorting of includes during presubmit.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 08:40:11 +00:00
yangguo@chromium.org
b5c716bba2 IC misses should not count towards execution pauses in plots.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 11:05:31 +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
a290cf8cda Parser: Delay internalizing strings and values.
This is needed so that we can run Parser on a non-main thread (independent
of the Isolate and the V8 heap).

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 13:31:56 +00:00
jkummerow@chromium.org
6e29768eb6 Have one, long-lived map for bound functions.
This avoids creating a new map for every bound function. Bonus: some cleanup in Runtime_FunctionBindArguments.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 12:19:04 +00:00
jkummerow@chromium.org
3b545740b4 Remove one more arch-specific target name.
One more target had the architecture added to its name since r14209
originally landed and was missed when that change was reverted. Remove
the architecture from v8_libbase as well.

BUG=
R=jkummerow@chromium.org

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

Patch from Richard Coles <torne@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 11:02:34 +00:00
yangguo@chromium.org
2e8a6f5e99 Mark timed range in the profile plot.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 09:07:56 +00:00
mstarzinger@chromium.org
ed61b85c78 Make timestamp of fuzz harness archives finer grained.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 18:55:09 +00:00
wingo@igalia.com
dfb1c7dc9e For-of calls [Symbol.iterator]() on RHS to get iterator
R=rossberg@chromium.org
BUG=http://code.google.com/p/v8/issues/detail?id=2735
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 17:31:54 +00:00
wingo@igalia.com
8e165acbdf Add @@iterator for generator objects
R=arv@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:53:07 +00:00
machenbach@chromium.org
6803022ada Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 22:09:25 +00:00
machenbach@chromium.org
b4226accb7 Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 21:45:54 +00:00
machenbach@chromium.org
6c26eb26ab Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 12:16:14 +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
yangguo@chromium.org
81f0444880 Do not merge adjourning ranges when calculating percentages in plot.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 14:46:30 +00:00
danno@chromium.org
7c56c0e864 Reland 21720: Introduce FieldIndex to unify and abstract property/field offset
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 14:01:08 +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
yangguo@chromium.org
dc7fe989ae Do not clear mirror cache when fetching loaded scripts.
R=yurys@chromium.org
BUG=376534
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:42:41 +00:00
yangguo@chromium.org
1f8adc1503 Log IC misses as timer events.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:34:18 +00:00
danno@chromium.org
ec57abdaa7 Revert 21720: "Introduce FieldIndex to unify and abstract property/field offset"
Due to assorted failures

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:00:10 +00:00
machenbach@chromium.org
5959f9f569 Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 08:51:12 +00:00
machenbach@chromium.org
49d547e8f8 Add whitespace file to allow no-op changelists for bot maintenance.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 07:13:36 +00:00
danno@chromium.org
ffc4ad0697 Introduce FieldIndex to unify and abstract property/field offset
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 14:05:10 +00:00
yangguo@chromium.org
47e96513af Fix bug in tools/plot-timer-events
Bug was introduced in r21338.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 08:15:05 +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
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
ishell@chromium.org
55443af648 Fixed lint errors caused by "runtime/references" rule (Is this a non-const reference?) and the rule itself is restored.
BUG=v8:3326
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:45:38 +00:00
machenbach@chromium.org
e4bde5ca25 Let benchmark runner exit with proper return codes.
BUG=374740
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:58:52 +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
yangguo@chromium.org
feed21b6d5 Add option to disable MirrorCache.
R=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:27:19 +00:00
jochen@chromium.org
a980e51471 Add DEPS files and run checkdeps in presubmit check
BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:39:42 +00:00
jochen@chromium.org
368262fc76 Ignore buildtools directory in presubmit.py checks
BUG=none
R=machenbach@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:38:35 +00:00
jochen@chromium.org
2874a5ce8e Update include paths for gcmole
TBR=mvstanton@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 11:01:35 +00:00
jochen@chromium.org
55e65935c9 Fix compilation on win shared and mips
TBR=mvstanton@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:29:03 +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
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
adamk@chromium.org
509a1a405c ES6: Add support for values/keys/entries for Map and Set
This allows code like this:

  var map = new Map();
  map.set(1, 'One');
  ...
  var iter = map.values();
  var res;
  while (!(res = iter.next()).done) {
    print(res.value);
  }

BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:34:01 +00:00
jkummerow@chromium.org
f6a249c6d0 Inlined optimized runtime functions: expose Runtime versions for direct testing, skip Hydrogen versions
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 17:07:38 +00:00
bmeurer@chromium.org
e9357a5e77 Refactor HType to get rid of various hacks.
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 04:13:50 +00:00
machenbach@chromium.org
509c15c799 Add new benchmark suite runner.
TEST=./tools/run_benchmarks.py benchmarks/v8.json
TEST=cd tools/unittests; python -m unittest run_benchmarks_test

Does not support custom results processors yet. Will implement that in a future CL.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 13:05:17 +00:00
mstarzinger@chromium.org
f1204c433b Use non-copying sorting in test harness.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 13:01:47 +00:00
machenbach@chromium.org
cbd242f707 Fix deopt fuzzer after adding a no_sorting flag.
BUG=
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 13:00:47 +00:00
mstarzinger@chromium.org
18ac428252 Add flag to test harness to stop sorting test cases.
R=jkummerow@chromium.org, machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 10:49:10 +00:00
mstarzinger@chromium.org
fd21e8f56f Add Seq[One,Two]ByteString to runtime test generator.
R=dcarney@chromium.org, jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 09:52:38 +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
88abd8abed Reland 21529 - "Add a flag to d8 to invoke weak callbacks"
> This will send an idle notification and a low memory notification after
> each test.
>
> For some reason it's not enough to send a low memory notification alone.
>
> BUG=none
> R=yangguo@chromium.org
> LOG=n

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:16:42 +00:00
yangguo@chromium.org
c92d6f57ee Revert "Add a flag to d8 to invoke weak callbacks"
This reverts r21529.

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:21:46 +00:00
jochen@chromium.org
4cc924251d Add a flag to d8 to invoke weak callbacks
This will send an idle notification and a low memory notification after
each test.

For some reason it's not enough to send a low memory notification alone.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:57:48 +00:00
machenbach@chromium.org
2dc61205fd Send idle notification on ASAN builder for proper tear down.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:34:23 +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
yangguo@chromium.org
32f433c12e Fix leak in debug mirror cache.
When fetching loaded scripts, mirror objects are created and cached.
If the cache is not cleared, it holds script objects alive.

This also fixes a minor issue with script unloading.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 07:05:56 +00:00
danno@chromium.org
9c485e182b Introduce x87 port
Support x87-only platform (ia32 without SSE)

R=danno@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 16:37:27 +00:00
ishell@chromium.org
7c55f645d5 Cleanup after inobject slack tracking improvement.
1) %SetExpectedNumberOfProperties() function removed.
2) Obsolete SharedFunctionInfo::BeforeVisitingPointers() removed.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 12:55:57 +00:00
jkummerow@chromium.org
d6a05b729c Harden a few builtins
Introducing BUILTIN_ASSERT, builtins' equivalent of RUNTIME_ASSERT.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 13:59:37 +00:00
jkummerow@chromium.org
0829572ee8 Revert "Rename target-specific binaries built for host."
The Android build system support for gyp has been fixed to handle
target-dependent host binaries correctly without requiring them to
include the target architecture in the name. Remove the suffixes to make
referring to these targets simpler again.

This reverts r14209.

BUG=
R=jkummerow@chromium.org

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

Patch from Richard Coles <torne@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 09:04:24 +00:00
yangguo@chromium.org
d9736047b7 Implement Mirror object for Symbols.
R=rossberg@chromium.org, yurys@chromium.org
BUG=v8:3290
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 15:13:50 +00:00
jkummerow@chromium.org
d4d4d30204 Stop using urllib.urlretrieve() directly.
Using urllib for SSL connections when behind a proxy is known to be
broken, so apply the same fix from depot_tools r149742 and use a wrapper
around urllib2 instead.

R=jkummerow@chromium.org
TEST=run test262 behind corporate proxy

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

Patch from Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 09:25:05 +00:00
adamk@chromium.org
50f5a79590 Use SameValueZero for Map and Set
Instead of normalizing the keys we use SameValueZero for the actual
comparison.

BUG=v8:1622
LOG=Y
R=mstarzinger@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 08:47:02 +00:00
adamk@chromium.org
70c3a714a1 ES6 Map/Set iterators/forEach improvements
This changes how Map/Set interacts with its iterators. When the
underlying table is rehashed or cleared, we create a new table (like
before) but we add a reference from the old table to the new table. We
also add an array describing how to transition the iterator from the
old table to the new table.

When Next is called on the iterator it checks if there is a newer table
that it should transition to. If there is, it updates the index based
on the previously recorded changes and finally changes itself to point
at the new table.

With these changes Map/Set no longer keeps the iterators alive. Also,
as before, the iterators keep the underlying table(s) alive but not the
actual Map/Set.

BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org, rossberg@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 14:22:05 +00:00
machenbach@chromium.org
f737580c65 Let test driver export json results.
BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:36:53 +00:00
adamk@chromium.org
62e09a3534 Fix fuzzable JS function count after r21356
TBR=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:19:54 +00:00
adamk@chromium.org
35b8b0b27a Move microtask queueing logic from JavaScript to C++
This avoids the appearence of a leak due to storing a JSObject
as the microtask_state in the strong root list, and allows callers
to call Isolate::RunMicrotasks() without having any v8::Context
available (as at least Blink has interest in doing).

The queue is now a strong root, represented as a FixedArray of JSFunctions
(or empty_fixed_array, if it's empty); it doubles in size when it needs to grow.
The number of elements in the queue is stored in Isolate::pending_microtask_count().

LOG=Y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:57:04 +00:00
yangguo@chromium.org
fe243379f8 Decouple CpuFeatures from serializer state.
Traditionally, we cross compile a snapshot iff the serializer is enabled.
This will change in the future.

Changes:
 - CpuFeatures probing is done once per process, depending on whether we
   cross compile.
 - CpuFeatures are consolidated into the platform-independent assembler.h
   as much as possible.
 - FLAG_enable_<feature> will only be checked at probing time (already the
   case for ARM).
 - The serializer state is cached by the MacroAssembler.
 - PlatformFeatureScope is no longer necessary.
 - CPUFeature enum values no longer map to CPUID bit fields.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 15:18:24 +00:00
jkummerow@chromium.org
8407277cc0 Harden builtins BuildResultFromMatchInfo and URIDecodeOctets
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:43:19 +00:00
jkummerow@chromium.org
5843a3359c Add builtin detector to generate-runtime-tests.py
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:23:32 +00:00
jkummerow@chromium.org
43c170eb44 Move check for existence of generated tests from run-tests.py to presubmit.py
Inspired by https://codereview.chromium.org/275143002#msg3

R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:18:13 +00:00
jkummerow@chromium.org
48c39e57b2 Expand C++ macros in tools/generate-runtime-tests.py to increase coverage
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:16:08 +00:00
yangguo@chromium.org
5c3c644cd3 Make plot shell script nicer.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:04:45 +00:00
machenbach@chromium.org
04043b3352 Fix keyboard interrupt in test driver.
Drain the queues to prevent failures when queues are garbage collected. Fails when interrupting test262 otherwise.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 15:01:27 +00:00
machenbach@chromium.org
1d0db84277 Fix deopt fuzzer after test runner changes.
Use the same keyboard interrupt logic as run-tests.
Close the perf database explicitly after one run, as it has two runs on the same architecture. Currently the first run closes on garbage collection, which might corrupt the second run.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 12:40:40 +00:00
machenbach@chromium.org
743e07bad0 Run tests sorted by expected runtime.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 12:01:34 +00:00
yangguo@chromium.org
ca9555120c Remove socket implementation from V8.
R=jkummerow@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 16:34:13 +00:00
yangguo@chromium.org
33fba3bfa1 Remove DebuggerAgent.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 16:28:46 +00:00
machenbach@chromium.org
fc437f4007 Introduce a dynamic process pool for the local test driver
The new process pool allows adding jobs after testing has been started. It will also allow to restructure building the job queue (in a follow up CL), so that testing can start instantly while the queue is being built.

Also attempts to clean up the keyboard-interrupt logic. Idea: Only catch keyboard interrupt once per process at the outermost level. Use proper "finally" clauses to clean up everywhere where a keyboard interrupt might occur. Never turn named exceptions into none-exceptions using anonymous "raise".

TEST=python -m unittest pool_unittest
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 13:30:57 +00:00
jkummerow@chromium.org
56c0eeb5e4 Add randomized test generation capability to tools/generate-runtime-tests.py
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 12:54:34 +00:00
jkummerow@chromium.org
e7a34f3fd9 Harden runtime functions (part 6).
Also blacklist LiveEdit-related functions from generated runtime tests.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 09:37:26 +00:00
adamk@chromium.org
fb991aafe3 Updated runtime function counts after r21243
TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 18:28:11 +00:00
ishell@chromium.org
ff2d004f85 Presubmit checks recover:
1) runtime/references checks temporarily disabled (56 items left)
2) other errors fixed

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:59:24 +00:00
jkummerow@chromium.org
9866670c26 Add test case generator for runtime functions
R=dslomov@chromium.org, machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-08 13:11:59 +00:00
svenpanne@chromium.org
967a79d21a Unbreak samples and tools.
Removed a related TODO in d8.cc on the way.

BUG=v8::3318
LOG=y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-08 06:52:35 +00:00
jkummerow@chromium.org
e1bbd26794 Refactor mjsunit/fuzz-natives-* into a separate test suite.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-07 12:31:26 +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
f6e2d0eb1d Remove strange v8_target_arch=="mac" conditions from gyp files
mac is not an architecture, and it doesn't make sense to compile in both
the ia32 and x64 archs at the same time

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 15:25:51 +00:00
rossberg@chromium.org
ae0a36ee32 Re^3-land "Ship promises and weak collections"
R=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 14:48:34 +00:00
machenbach@chromium.org
45681c688d Remove old branch logic from push scripts.
The old temporary branch is not needed anymore. All scripts create a different branch after creating the temporary branch.

This also fixes logging subprocesses and logs a warning to track down script failures due to wrong branches.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 15:16:26 +00:00
jochen@chromium.org
629725d4fb Merge v8converions with conversions
BUG=none
R=mstarzinger@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 09:14:24 +00:00
jochen@chromium.org
8795d02bfd Enter a description of the change.
Reland 20968 - "Merge v8utils.* and utils.*"

>  BUG=none
>  R=mstarzinger@chromium.org
>  LOG=n
>
>  Review URL: https://codereview.chromium.org/256753002

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:47:01 +00:00
jochen@chromium.org
65a983a481 Reland 20962 "Break cyclic reference between utils and platform."
Don't use OS::MemCopy in BitCast. It's crucial that the compiler can
optimize the memcpy away.

>  Platform includes utils.h for the definition of Vector<>, so utils.h
>  can't include platform.h and has to use memcpy instead of OS::MemCopy.
>
>  We split out Vector<> into its own header to break this cycle
>  dependency.
>
>  BUG=none
>  R=mstarzinger@chromium.org
>  LOG=n
>
>  Review URL: https://codereview.chromium.org/251753002

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:43:58 +00:00
ulan@chromium.org
19aa122d87 Move JSON-stringify webkit test to V8.
BUG=367089
LOG=N
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:49:55 +00:00
jochen@chromium.org
4ed16eaec5 Revert 20962 "Break cyclic reference between utils and platform."
>  Platform includes utils.h for the definition of Vector<>, so utils.h
>  can't include platform.h and has to use memcpy instead of OS::MemCopy.
>
>  We split out Vector<> into its own header to break this cycle
>  dependency.
>
>  BUG=none
>  R=mstarzinger@chromium.org
>  LOG=n
>
>  Review URL: https://codereview.chromium.org/251753002

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:23:11 +00:00
jochen@chromium.org
f2a1176f90 Revert 20968 - "Merge v8utils.* and utils.*"
>  BUG=none
>  R=mstarzinger@chromium.org
>  LOG=n
>
>  Review URL: https://codereview.chromium.org/256753002

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:21:32 +00:00
machenbach@chromium.org
0516f641cd Let releases script retrieve information about chromium branches.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:33:19 +00:00
yangguo@chromium.org
cb2f43cb14 Always include debugger support.
Motivation: we do not have test coverage for debuggersupport=off.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:00:37 +00:00
jochen@chromium.org
c0380f6a56 Merge v8utils.* and utils.*
BUG=none
R=mstarzinger@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 10:57:34 +00:00
jochen@chromium.org
79be539892 Break cyclic reference between utils and platform.
Platform includes utils.h for the definition of Vector<>, so utils.h
can't include platform.h and has to use memcpy instead of OS::MemCopy.

We split out Vector<> into its own header to break this cycle
dependency.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:37:18 +00:00
jochen@chromium.org
88dc054f39 Extract common macros and start a base library
BUG=v8:3015
R=svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 11:51:28 +00:00
svenpanne@chromium.org
eeb1d7020e Revert "Simplify v8/Isolate teardown."
This reverts commit r20876, it broke non-snapshot tests.

TBR=bmeurer@chromium.org

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 10:45:43 +00:00
svenpanne@chromium.org
618ff3a3f5 Simplify v8/Isolate teardown.
This implies that one better has a v8::V8::Initialize when v8::V8::Dispose is used.

BUG=359977
LOG=y
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 09:24:56 +00:00
ishell@chromium.org
313844d842 Heap::AllocateStringFromOneByte() and major part of its callers handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:27:02 +00:00
mstarzinger@chromium.org
1c314382c0 Extend GCMole to also cover cctest files.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:57:08 +00:00
plind44@gmail.com
5a016958c6 MIPS: Add big-endian support for MIPS.
Important notices:

- The snapshot cannot be created for big-endian target in cross-compilation
  environment on little-endian host using simulator.

- In order to have i18n support working on big-endian target, the icudt46b.dat and
  icudt46b_dat.S files should be generated and upstreamed to ICU repo.

- The mjsunit 'nans' test is endian dependent, it is skipped for mips target.

- The zlib and Mandreel from Octane 2.0 benchmark are endian dependent due to
  use of typed arrays.

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 16:39:21 +00:00
machenbach@chromium.org
8cab750a81 Let revision script add commit dates.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 12:00:53 +00:00
jochen@chromium.org
181bcc3416 Clean up default-platform gyp defines
The files that are excluded do not exist at that location, so the rule
is not effective.

We'll first want to move the platform stuff into a separate library, so
I'm just removing those lines for now

BUG=v8:3015
R=dcarney@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 13:38:16 +00:00
machenbach@chromium.org
0182a0f16a Make V8 releases script add useful links.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 10:32:00 +00:00
marja@chromium.org
069d783a91 Remove the PreCompile API and ScriptData.
The new compilation API (ScriptCompiler::Compile) can produce the same data, so
the separate precompilation phase is not needed. ScriptData is replaced by
ScriptCompiler::CachedData.

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:44:49 +00:00
machenbach@chromium.org
f1c2b7007d Fix chromium ranges output in v8 releases script.
Add space after commas for auto line break in spreadsheets.
Add default empty strings to avoid undefined values in spreadsheets.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 07:40:48 +00:00
vogelheim@chromium.org
b88068ff2b Add support for --raw and --omit to js2c.
--raw writes the raw source data to a separate file
  --omit allows omitting the source data from the generated files.

The intention is (future) support for having the embedder optionally
store the source data 'blob' and handling it to V8::Initialize, with
the goal of reducing the binary size of V8.

The patch also contains numerous unrelated changes/refactorings in the hope of increasing maintainability. Let me know whether you agree. In particular:
- Remove some unused code.
- Do not overwrite Python built-ins (e.g. the type() function)
- Do not use a string as exception object (no longer supported in python 2.7)
- Add command line argument handling + help text.
- Split logic into:
  - PrepareSources - which reads + preprocesses the source files
  - BuildMetadata - which takes the prepared sources and generates the data the code template needs.

BUG=355539
LOG=N
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 14:53:32 +00:00
bmeurer@chromium.org
546d0a0b70 Add random_seed parameter to run-deopt-fuzzer.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 10:43:13 +00:00
bmeurer@chromium.org
5a564648dd Improve reproducibility of test runs.
Add random seed to run-tests.py, using either a user supplied
value or a random number generated by random.SystemRandom().
This same random seed is passed to all test cases, making sure
that we can easily reproduce test failures that depend on
random numbers (i.e. bugs related to our handwritten ASLR).

Also fix all uses of rand() to make use of our RNG class
instead.

R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 07:25:49 +00:00
machenbach@chromium.org
fd8a2a7f7a Add V8 releases script.
This script retrieves the history of all V8 branches and trunk revisions and their corresponding Chromium revisions.

TEST=tools/push-to-trunk/releases.py -c <chrome path> --csv test.csv

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:30:02 +00:00
machenbach@chromium.org
a430449c68 Add the ability to disable tests in nosnap mode.
BUG=v8:3216
LOG=n
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:57:43 +00:00
machenbach@chromium.org
c9d8b90f1b Automatically determine current V8 sheriff in chromium-roll script.
BUG=
R=jarin@chromium.org

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

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

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

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:36:23 +00:00
machenbach@chromium.org
4b222fb69e Make auto-roll script also roll patched trunk revisions.
This will allow the auto-roll bot to roll the last trunk patches, e.g. "Version 3.4.5.1 ...".

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 07:23:45 +00:00
machenbach@chromium.org
48b8a545c4 Fix bug entry and quotation marks in merge-to-branch.
This fixes usage of quotation marks inside titles of merged patches.
This also fixes aggregation of empty or "none" BUG entries.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 13:01:22 +00:00
machenbach@chromium.org
5f3c8a11fa Add merged patches to commit title in merge-to-branch.
This makes it easier to grep for patches in title in the revision history.

This also removes the redundant information into which branch was merged, as this can be derived from the version number in the title now.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:57:33 +00:00
machenbach@chromium.org
18308b389c Add version number to commit message in merge-to-branch.
This is a step towards automatically rolling arbitrary trunk revisions into Chromium.

This also deprecates the bash scripts as they now start to divert.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 09:42:18 +00:00
jkummerow@chromium.org
6b1f05bf35 tools: strip whitespace in gen-postmortem-metadata.py
R=jkummerow@chromium.org

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

Patch from Ben Noordhuis <ben@strongloop.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 13:04:08 +00:00
machenbach@chromium.org
eba6cb49c1 Fix auto-roll configuration.
TBR=jarin@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:13:17 +00:00
machenbach@chromium.org
bde7527a07 Add execution permission to auto-roll script.
TBR=jarin@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:04:53 +00:00
machenbach@chromium.org
0b246776ec Implement auto-roll script.
This script will (1) check if there is an active roll on rietveld (2) check if there is a trunk revision ready to be rolled and (3) call the chromium_roll script, creating a roll CL. The script will be called regularly through a cron job.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 06:59:25 +00:00
jkummerow@chromium.org
1d19dc9e45 Add msan.h to v8.gyp.
R=jkummerow@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:40:58 +00:00
bmeurer@chromium.org
7c38cdb2bc Make it possible to use HeapType inside objects-inl.h.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:07:09 +00:00
jochen@chromium.org
b7039334ae Revert 20313 - "Ship promises and weak collections"
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://code.google.com/p/v8/source/detail?r=20211
>
> Review URL: https://codereview.chromium.org/206163004

R=rossberg@chromium.org
TBR=rossberg@chromium.org
LOG=y
BUG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:40:32 +00:00
rossberg@chromium.org
826cf64fd3 Ship promises and weak collections
R=mstarzinger@chromium.org
BUG=

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:42:34 +00:00
ulan@chromium.org
5eabc4b802 Run tests on android_arm64.
R=rmcilroy@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 10:06:53 +00:00
jarin@chromium.org
425974e7cc Web page front-end for grokdump.
This is a prototype to start discussion about useful features for
a better/friendlier minidump analysis tool.

The change adds an -w option to grokdump.py. With the option on,
grokdump will launch a web server and web browser for browsing the
minidump. It also supports adding persistent comments and listing +
browsing other minidumps (in the same directory) without the need to
restart the web server.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:05:01 +00:00
jochen@chromium.org
04eefb86f4 Roll ICU 239289:258359 and add support for external ICU data tables
The only binary that supports ICU data tables is d8. The location of the
data table file has to be passed via a command line switch:

  $ out/x64.optdebug/d8 --icu-data-file=out/x64.optdebug/icudtl.dat

BUG=72633,v8:3142
R=danno@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:05:33 +00:00
mstarzinger@chromium.org
95f61f9243 Extend GCMole to cover ARM64 architecture.
R=ishell@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 11:46:28 +00:00
rossberg@chromium.org
2e1b16de2a Revert "Ship promises and weak collections"
Reason: breaks Blink layout tests.

R=machenbach@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:57:52 +00:00
yangguo@chromium.org
82f630a9f7 Reland "No longer OOM on invalid string length."
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:09:24 +00:00
titzer@chromium.org
3c31102025 First implementation of store elimination.
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:06:16 +00:00
rossberg@chromium.org
33be68c2fa Ship promises and weak collections
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:59:04 +00:00
machenbach@chromium.org
8311e24c2d Change auto-roll to auto-push for automatic trunk pushes.
The current script is only performing automatic pushes to trunk. This prepares for adding an auto-roll script that actually rolls to Chromium.

This also removes the v8-status updates, which are no longer necessary due to not touching bleeding edge any more.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:52:31 +00:00
yangguo@chromium.org
72932ae417 Revert "No longer OOM on invalid string length."
This reverts r20202.

TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:36:15 +00:00
yangguo@chromium.org
531217502c No longer OOM on invalid string length.
R=ishell@chromium.org
BUG=v8:3060
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:01:17 +00:00
marja@chromium.org
dccd57f1ec Add parser-shell.
parser-shell will help to see how much PreParsing gets slower when PreParser
starts doing more checks (especially tracking variables and scopes). It will
also show how much having preparse data (or cached data) speeds up the parsing.

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:43:41 +00:00
machenbach@chromium.org
db8196ae63 Fix options for calling push-to-trunk script.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:03:15 +00:00
machenbach@chromium.org
04a418c550 Let auto-roll push the lkgr.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 15:04:54 +00:00
machenbach@chromium.org
e134d32ff0 Split of rolling Chromium from push-to-trunk.
This moves rolling Chromium into a new script with its own tests.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:15:25 +00:00
jochen@chromium.org
2ce0bebba1 Rename A64 port to ARM64 port
BUG=354405
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:28:26 +00:00
jochen@chromium.org
9fccfc37c8 Prepare switch from a64 to arm64
BUG=354405
R=machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 08:47:03 +00:00
machenbach@chromium.org
b12ff51378 Allow to push arbitrary revisions when pushing to trunk.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 15:44:30 +00:00
machenbach@chromium.org
d7d4452e1c Deprecate prepare push commit when pushing to trunk.
- This also deprecates using version.cc on bleeding edge.
- The deprecated push-to-trunk.sh is deleted.
- The script now commits bleeding edge HEAD by default. Committing different revisions will be added in a follow up CL.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 09:23:44 +00:00
machenbach@chromium.org
44e3cfc651 Retrieve current version from trunk branch in push-to-trunk.
- This moves retrieving and incrementing the version before creating the change log
- Before the prepare push commit will be deprecated (follow up CL), the script deals with 3 build levels. X: the current build level on the last trunk push. X + 1: the build level for this trunk push. X + 2: the build level of the new version file on bleeding edge (to be deprecated).

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:10:41 +00:00
yangguo@chromium.org
0bc684a794 Introduce per-isolate assert scopes and API to guard JS execution.
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 11:31:43 +00:00
machenbach@chromium.org
23b0228614 Directly modify version file on trunk branch in push-to-trunk.
- This also shifts the push revision by one to prepare for the deprecation of the prepare push commit
- The version increment is still based on the bleeding_edge version.cc. This will be changed in a follow up CL.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 10:46:24 +00:00
machenbach@chromium.org
c06c9f8e1e Deprecate ChangeLog on bleeding_edge.
- This adds a sentinel to the ChangeLog on bleeding edge.
- Modifying the ChangeLog file directly when pushing to trunk is now no longer possible. If further modifications to the ChangeLog in manual push-to-trunk mode are required (e.g. after the prepare push LGTM), the change log entry temp file must be edited.
- Functionality that is no longer needed is removed.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 12:46:48 +00:00
rossberg@chromium.org
58d623f228 Stage ES6 promises and weak collections
Split collections flag into weak and non-weak.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 09:57:14 +00:00
machenbach@chromium.org
a868a74cfc Fix branch for resetting change log in push-to-trunk.
The patch is applied to ChangeLog with the "--index" option, which already updates the index of the file. For resetting the ChangeLog to the trunk revision, the trunk branch needs to be stated explicitly in the checkout, otherwise it checks out the already patched HEAD.

TEST=tools/push-to-trunk/script_test.py
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 13:52:33 +00:00
machenbach@chromium.org
fac6b67b2c Fix maintaining change log in push-to-trunk.
Applying the patch on ChangeLog causes local changes. To reset the ChangeLog to its original state, the "-f" option is required.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 08:51:27 +00:00
machenbach@chromium.org
acc2997b52 Reland "Maintain change log file directly on trunk branch in push-to-trunk."
This uses the following approach to modify the trunk change log:
- Calculate the new change log entries
- Apply changes to the bleeding edge change log (this will be removed in a follow up CL)
- Apply the diff between BE and trunk to trunk (this includes the diff of the change log)
- Reset the change log to the version on trunk
- Reapply the new change log entries

R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-15 13:06:08 +00:00
machenbach@chromium.org
f7fea5dd92 Revert "Maintain change log file directly on trunk branch in push-to-trunk." and related changes.
This reverts r19876, r19902 and r19903. The changes made git diff' in push-to-trunk unusable.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:48:24 +00:00
machenbach@chromium.org
fa4625c1a4 Maintain change log file directly on trunk branch in push-to-trunk.
This is another step for deprecating the change log file on bleeding edge.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:12:18 +00:00
machenbach@chromium.org
078ecbb9c3 Add file exclusion to trunk patch creation in push-to-trunk.
This is another step towards getting rid of the bleeding edge change log file. Now it can be omitted in a follow up CL.

R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:57:07 +00:00
adamk@chromium.org
8bd05193c7 Reland "Enable Object.observe by default" again
This re-re-re-lands enabling Object.observe. The Chromium tests that
failed last time this was rolled into Chromium have been disabled in
https://src.chromium.org/viewvc/chrome?view=revision&revision=256706

This patch should be safe to merge once that lands.

BUG=v8:2409
LOG=Y
TBR=rossberg@chromium.org,dslomov@chromium.org,rafaelw@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 00:20:06 +00:00
rodolph.perfetta@arm.com
f06216201a A64: removed unused debugger file.
BUG=
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 16:05:20 +00:00
machenbach@chromium.org
8bcd43b8cf Refactoring: Use explicit mock expectations for testing push and merge scripts.
- Up to now, mock expectations were simple lists of arguments + return value
- These expectations are now modeled explicitly including the name of the mock (e.g. git or readline)
- The optional test callback function is now explicitly named
- This will allow merging all mock expectation types (e.g. git and readline) into a single list per test case (follow up CL)

TEST=tools/push-to-trunk/script_test.py
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 14:39:04 +00:00
machenbach@chromium.org
7c778096b1 Suppress error handling for test coverage in push and merge scripts.
- This adds a suppression of lines concerning error handling for the test coverage analysis
- Fixes also calling push-to-trunk from auto-roll

TEST=tools/push-to-trunk/script_test.py
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 10:45:23 +00:00
machenbach@chromium.org
11b6daec84 Don't use a temp file for changelog in push-to-trunk.
This is part of getting rid of the ChangeLog on bleeding_edge and directly modifying it on trunk.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 07:39:56 +00:00
dslomov@chromium.org
f6dac13dcb Revert "Enable Object.observe by default"
This reverts commit r19734 for breeaking ChromiumOS browser tests.
'OpenSpecialTypes/FileManagerBrowserTest.Test/3' started to time out,
bisecting the roll led to this change.
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/22224

TBR=rafaelw@chromium.org,rossberg@chromium.org
BUG=v8:2409
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:15:44 +00:00
svenpanne@chromium.org
bd96b9ffce Updated constants.
No idea when they got out-of-sync...

TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:56:04 +00:00
bmeurer@chromium.org
48fea83dad Merge the "Compute Minus Zero Checks" phase into the range analysis.
It is not safe to access the range for an SSA value
after range analysis.

BUG=v8:3204
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 11:49:29 +00:00
rafaelw@chromium.org
6503dfb72b Reland "Enable Object.observe by default"
Original Issue: https://codereview.chromium.org/183683022/

TBR=rossberg
BUG=v8:2409
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 04:41:06 +00:00
rafaelw@chromium.org
0cc44c14e5 Revert "Enable Object.observe by default"
TBR=rossberg
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 03:54:42 +00:00
rafaelw@chromium.org
dcf9842e07 Enable Object.observe by default
R=rossberg@chromium.org, rossberg
BUG=v8:2409
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 02:47:53 +00:00
machenbach@chromium.org
bc21f42563 Refactoring: Make script dependencies more object-oriented in push and merge scripts.
- Connect the top-level scripts via inheritance and remove top-level functions
- Options and option processing can be extended from base to subclass script

This CL is split off from https://codereview.chromium.org/173983002/

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-04 23:27:27 +00:00
machenbach@chromium.org
73bb6c6bd7 Add coverage analysis to push and merge script tests.
The coverage analysis must live in an extra file in order to analyze the scripts when being imported.

TEST=tools/push-to-trunk/script_test.py
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-03 20:17:03 +00:00
machenbach@chromium.org
5acdc942f6 Refactoring: Long option names in push and merge scripts.
This CL is split off from https://codereview.chromium.org/173983002/

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 21:49:51 +00:00
commit-bot@chromium.org
56060812f6 Fix line distance in push and merge scripts.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 19:45:28 +00:00
machenbach@chromium.org
f09b3db78c Fix patch creation in merge-to-branch script.
Patch white space got stripped, which lead to failures when applying the patch.

- Refine test to reveal the problem
- Create a separate method for retrieving the patch that doesn't strip white space

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 16:12:32 +00:00
machenbach@chromium.org
2e01427c3d Refactoring: Deprecate optparse in push and merge scripts.
- Deprecate optparse with argparse
- The tests include now options parsing by default: each test specifies the command-line args to parse rather than the options directly

This CL is split off from https://codereview.chromium.org/173983002/

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 15:13:31 +00:00
jochen@chromium.org
597a4b4dc1 A64: Make the Decoder a template
This will allow for replacing the dispatcher with a concrete decoder
visitor.

BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 12:01:05 +00:00
dcarney@chromium.org
499b31e222 Crash like chrome. Currently, most chrome crashes do not yield useful stack traces as v8 does a silent abort and chrome's crash symbolization does not kick in.
R=svenpanne@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 13:53:06 +00:00
machenbach@chromium.org
01cf2f8eda Refactoring: Extract low-level git from push and merge scripts.
- This adds a python layer on top of the low-level git calls to control parameter passing and return values.
- This also fixes a bug in FindLastTrunkPush that only shows up in manual mode when the last push versions are iterated.
- The order of some parameters changed in some git calls in the tests to be uniform.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:39:41 +00:00
jacob.bramley@arm.com
3196b9fb6c Fix tools/cross_build_gcc.sh.
The cross_build_gcc.sh script didn't set LINK, so cross builds would
fail at the last step.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:37:40 +00:00
machenbach@chromium.org
672bc20af8 Fix options in push-to-trunk script.
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 08:06:11 +00:00
machenbach@chromium.org
7a4f18caa6 Refactoring: Extract git checks in push and merge scripts.
This extracts the pattern "if call git fails: raise exception", which is spread all over the place. Now all calls to git are required to return gracefully and give a uniform exception message if they don't.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 14:56:19 +00:00
marja@chromium.org
7a948d325c Re-enable fast/js/reserved-words-as-property.html.
Error message migration is done and Blink has updated the expected result.

R=yangguo@chromium.org, ulan@chromium.org
BUG=v8:3126
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 14:53:14 +00:00
machenbach@chromium.org
fb0fb8e0cc Retrieve bleeding edge push revision from trunk commit message.
This is part of moving towards an lkgr-push script and prepares the deprecation of the prepare push commit.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:40:30 +00:00
machenbach@chromium.org
a56d0da623 Refactor persisting state in push and merge scripts.
- The backed state dict is now persisted and restored in the step template as a json file
- All explicit persist/restore calls are removed
- Added testing an unexpected script failure + restart with state recovery to the merge-to-branch test
- This CL is not changing external behavior of the scripts

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 11:56:48 +00:00
machenbach@chromium.org
77c278b94d Fix merge-to-branch options.
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 14:17:08 +00:00
machenbach@chromium.org
0f2c040c79 Fix merge-to-branch python port.
This fixes a forgotten parameter when calling the script's toplevel method and adds the same usage message as in the bash script.

BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 14:05:59 +00:00
machenbach@chromium.org
f15c700378 Fix merge-to-branch imports.
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:51:46 +00:00
machenbach@chromium.org
6af4512ba7 Make merge-to-branch python port executable
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:47:56 +00:00
machenbach@chromium.org
c2cd2083a3 Add merge-to-branch python port.
- To ease a line-by-line review, the script is intentionally close to the former bash version
- Disambiguate the existing "-r" option for reviewer in the other scripts
- The options design will be refactored in a follow up CL

TEST=python -m unittest test_scripts.ScriptTest.testMergeToBranch
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:09:14 +00:00
jkummerow@chromium.org
9699ca6b71 Make tools/bash-completion.sh robust against arbitrary CWD
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 09:12:11 +00:00
jkummerow@chromium.org
e0842a75b9 Update v8heapconst.py
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 08:50:19 +00:00
rafaelw@chromium.org
6b5a4cdef2 V8 Microtask Queue & API
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue".

It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to

-schedule a microtask (EnqueueExternalMicrotask)
-run the microtask queue (RunMicrotasks)
-control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks).

R=dcarney@chromium.org, rossberg@chromium.org, dcarney, rossberg, svenpanne
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 22:04:19 +00:00
ulan@chromium.org
e95bc7eec8 Merge experimental/a64 to bleeding_edge.
BUG=v8:3113
LOG=Y
R=jochen@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 09:19:30 +00:00
mvstanton@chromium.org
516ed9fa90 Adding a type vector to replace type cells.
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 21:38:17 +00:00
machenbach@chromium.org
e81eacfa74 Enable specification of author email in push-to-trunk.
If not specified, depot tools tend to ask for an email on the command line once in a while, which makes the automated script hang.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 12:48:36 +00:00
palfia@homejinni.com
fca3f16b46 Add support to automatically search for corresponding architecture ports in merge-to-branch.sh.
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 15:34:46 +00:00
marja@chromium.org
6fa3419894 Temporarily mark reserved-words-as-property as possibly failing.
V8 is changing an error message and Blink will disable this test temporarily,
too. This CL will keep the tree green until Blink is rolled into V8.

BUG=3126
LOG=N
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 13:37:34 +00:00
jkummerow@chromium.org
fd6996ffab grokdump: Compute correct call destinations and display them in-place
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 11:49:07 +00:00
machenbach@chromium.org
5be6daa942 Fix deopt fuzzer variable set up.
Adds the simulator variable configuration from r18959 to the deopt fuzzer.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 09:10:56 +00:00
plind44@gmail.com
51107bad1c Skip webkit/function-apply-aliased.js when running on simulators.
The webkit/function-apply-aliased.js test fails on simulators (both MIPS
and ARM) as the printed output does not match to the expected. The
failing test forces a stack overflow exception and the ToString()
operation of the exception object fails because of an other stack
overflow and returns an empty string.

The problem is that on hardware a common JS and C stack is used so the
stack overflow can be caught in C functions also while on simulator
separated JS and C stacks are used.

This patch adds a "sim" condition to test .status files to skip tests
only on simulator.

LOG=N
BUG=v8:3124
R=jkummerow@chromium.org, plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 18:04:33 +00:00
machenbach@chromium.org
5d8e2f3435 Make 'ASAN' configurable in test status file.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 15:30:41 +00:00
jochen@chromium.org
a3d0311117 Delete v8_shell target now that chrome uses d8
BUG=331585
LOG=y
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 14:58:40 +00:00
machenbach@chromium.org
15ecc108cb Show v8 bleeding edge revision in trunk and Chromium commit message.
This allows to map from a V8 Chromium roll to the bleeding_edge revision used for the roll.

This CL also improves some test code:
 - Don't loose assertion exceptions in mocked git on retry.
 - Remove an unused method

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 13:44:52 +00:00
machenbach@chromium.org
cf138c64b4 Let push-to-trunk script retry failing svn writes.
BUG=
TEST=python -m unittest test_scripts
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 10:55:40 +00:00
machenbach@chromium.org
1864f7388e Add infrastructure for skipping tests in GC stress mode.
Also move the GC stress configuration from the buildbot to the test runner.

BUG=
R=jkummerow@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-21 12:41:25 +00:00
machenbach@chromium.org
780ae3146a Activate calling push-to-trunk in auto-roll script.
- Call push-to-trunk through python not through the shell
- Restore tree state on script errors
- Mock out python call in unit tests
- The actual call stays behind a flag

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 11:29:43 +00:00
machenbach@chromium.org
efbef90acd Fix tree check in merge-to-branch script.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:40:56 +00:00
svenpanne@chromium.org
b25bb230cd Removed apiutils.h and related cleanup.
ExtensionConfiguration is just a simple container for extension names
(in a perfect world we would use vector<string> and range-based for
loops), and HandleScopeData was in the totally wrong place. Some
additional cleanup on the way, e.g. using the null pattern behind our
external API.

R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 08:17:40 +00:00
machenbach@chromium.org
0684eb14e6 Add tree control feature to auto-roll script.
This CL enables the auto-roll script to close and reopen the tree when pushing.

Modifies an auto-roll test so that the push-to-trunk part is executed in order to test the new tree control feature.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 15:55:23 +00:00
ulan@chromium.org
2638dca48f Make cells pointing to JSObjects weak in optimized code.
This is done similar to weak embedded objects in optimized code (r17102). The
reference from optimized code to a cell is treated weakly in marking visitors
if the cell points to a JSObject. After marking we iterate over all cells
embedded in optimized code. If a cell is not marked but its value is marked,
then we revive the cell by marking it. Otherwise, the cell value is dead, so
we mark the code for deoptimization.

BUG=v8:2073
TEST=cctest/test-heap/CellsInOptimizedCodeAreWeak
LOG=Y
R=hpayer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 11:42:19 +00:00
machenbach@chromium.org
c30421677d Fix tree check for push-to-trunk.
This is a work-around simulating a --bypass-tree-check.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 11:49:09 +00:00
ulan@chromium.org
0ca890fd83 Add 'LOG=N' line to merge-to-branch.sh to avoid presubmit errors when merging to branch.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 14:04:14 +00:00
svenpanne@chromium.org
005c0d8178 Prepare removal of ObjectTemplate::New without Isolate parameter.
LOG=y
BUG=324225
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 06:53:31 +00:00
machenbach@chromium.org
0030356cd0 Add better remote control to push-to-trunk auto-roll script.
This CL enables controlling the automatic push-to-trunk via a settings file .auto-roll in the home directory or via the v8 status app message.

Pushes can be disabled by setting .auto-roll to {"enable_auto_roll": false} or by adding the phrase "nopush" or "no push" to http://v8-status.appspot.com/.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 15:23:48 +00:00
jochen@chromium.org
f4994ae876 Don't bail out of the cpplint cache is broken.
Instead, try to remove it.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 15:06:27 +00:00
bmeurer@chromium.org
0899da3697 Add support for the QNX operating system.
This patch contains contributions from the following members of the
BlackBerry Web Technologies team:

Eli Fidler <efidler@blackberry.com>
Konrad Piascik <kpiascik@blackberry.com>
Jeff Rogers <jrogers@blackberry.com>
Cosmin Truta <ctruta@blackberry.com>
Peter Wang <peter.wang@torchmobile.com.cn>
Xiaobo Wang <xiaobwang@blackberry.com>
Ming Xie <mxie@blackberry.com>
Leo Yang <leoyang@blackberry.com>

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

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

Patch from Cosmin Truta <ctruta@blackberry.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 07:04:05 +00:00
rmcilroy@chromium.org
78ab4379d3 Out-of-line constant pool on Arm: Stage 3 - Set Constant Pool Pointer on Function Entry
Third stage of implementing an out-of-line constant pool for Arm.  This CL adds
a ConstantPool field to Code objects and initializes the pp register on
function entry, and saves the pp register on the stack frame. The ConstantPool
object is always empty and is unused currently.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-30 11:23:59 +00:00
jochen@chromium.org
e6ef64c590 [platform] Implement a worker pool
We don't use the worker pool yet, however, there are tests. Yay. The
next step is to use the worker pool for parallel sweeping.

I've also started to move the platform related files into a sub
directory. The goal is to eventually build all the platform stuff as
a separate library which is used by d8 and cctest (and other embedders
that wish to use the default implementation) but not by chromium.

BUG=v8:3015
R=hpayer@chromium.org, svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:52:58 +00:00
machenbach@chromium.org
508f7d256a Add named options to push-to-trunk script.
Also make sure that on exceptions from the test infrastructure there is no retry.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-16 10:56:52 +00:00
machenbach@chromium.org
3c601ff5b5 Add last-push check to automatic push-to-trunk script.
Make sure the script is not trying a push-to-trunk twice in a row.

This also passes through some command line parameters.

TEST=python -m unittest test_scripts.ScriptTest.testCheckLastPushRecently
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 15:27:38 +00:00
machenbach@chromium.org
7a8a098a5e Make squash commits step more pythony in push-to-trunk script.
Get rid of linux-only shell commands. Solve issue with quotation marks in commit messages.

Further behavioral change: Strip white space on line endings. Strip trailing new lines.

Test=python -m unittest test_scripts

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 15:05:53 +00:00
machenbach@chromium.org
d8a757c669 Add tests and extension verifying CHECK and ASSERT.
The new native functions can also be used in blink tests to ensure that V8 asserts are turned on where they should be.

BUG=
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-05 17:26:22 +00:00
jkummerow@chromium.org
fa4faff962 'make quickcheck': Assorted improvements.
'make ia32' should not build ia32.optdebug.
'make ia32.clean' should delete ia32.optdebug output.
'make quickcheck' should be terminatable by hitting Ctrl+C just once.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-05 12:37:24 +00:00
machenbach@chromium.org
34943ca0c8 Add fully automated mode to push-to-trunk script.
Now there are three modes to run the script:
(1) default: semi-automated
(2) manual (-m option), like in the old script
(3) forced (-f option), no user input required no editor check

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-04 08:47:18 +00:00
dslomov@chromium.org
8058a7fd2b Fix condition in merge-to-branch.sh
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 14:30:36 +00:00
jkummerow@chromium.org
5e535ae6c1 'make quickcheck': don't overwrite debug output.
Achieved by turning optdebug into a first-class compilation mode.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 14:24:40 +00:00
machenbach@chromium.org
9087d5f865 Mock out date call in push-to-trunk script for testability.
TEST=python -m unittest test_scripts.ScriptTest.testPrepareChangeLog
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 12:38:25 +00:00
machenbach@chromium.org
0fd8169408 Fix change log generation in push-to-trunk script.
Fixed missing parenthesis in regular expression. The log checker matched on the word "true" and included a wrong change log entry.

TEST=python -m unittest test_scripts.ToplevelTest.testRegressWrongLogEntryOnTrue
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 09:13:51 +00:00
ulan@chromium.org
7f885c709c Print exit code on crash in run-tests.py
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 15:46:41 +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
machenbach@chromium.org
59ff4ec657 Add fast make and test all target.
The new target called "quickcheck" builds and tests with several configurations using recent test runner speed improvements.

Runtime from scratch (after make clean): < 8 min
Runtime tests only: < 3 min

TEST=make quickcheck
R=jkummerow@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:18:04 +00:00
rossberg@chromium.org
e943623b12 Harmony promises
Based on prototype at

  https://github.com/rossberg-chromium/js-promise

which informed the latest spec draft version at

  https://github.com/domenic/promises-unwrapping/blob/master/README.md

Activated by --harmony-promises.

Feature complete with respect to the draft spec, plus the addition of .when and .deferred methods. Final naming and other possible deviations from the current draft will hopefully be resolved soon after the next TC39 meeting.

This CL also generalises the Object.observe delivery loop into a simplistic microtask loop. Currently, all observer events are delivered before invoking any promise handler in a single fixpoint iteration. It's not clear yet what the final semantics is supposed to be (should there be a global event ordering?), but it will probably require a more thorough event loop abstraction inside V8 once we get there.

R=dslomov@chromium.org, yhirano@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 17:21:40 +00:00
dslomov@chromium.org
f7927265f2 Provide "freeBuffer()" primitive for testing under ASan.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 09:22:04 +00:00
machenbach@chromium.org
c95173b2eb Increase test runner speed.
Let the test runner preserve the order of test suites to let suites with long running tests run first.

Mark some tests as slow that can now be skipped via --slow-tests=skip.

BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 16:53:04 +00:00
yangguo@chromium.org
3d21f84fcf Fix generate_trig_table build target.
It now closely resembles the js2c target, so that we only have
one platform to run it on (either 'host' or 'target'). This way
we do not run into warnings when compiling for e.g. ARM.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 08:50:15 +00:00
machenbach@chromium.org
e6e8acd446 Make test runner more flexible for running fast tests.
Transformed variant flags into named variants. Now, all combinations of variants can be specified on the command line. The old command-line flags are kept for backwards compatibility on the bots.

Added two new test groups: slow and pass|fail. Both are implemented similar to the flaky test feature and allow to either skip or run tests marked as slow or as pass|fail.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 17:34:52 +00:00
machenbach@chromium.org
5201e8c396 Improve and refactor push-to-trunk script.
Let change log formatter squash title and bug reference. Repair wrongly indented first line in change log. Add automatic rietveld reload of commit messages to enable late corrections.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 14:20:39 +00:00
yangguo@chromium.org
c04659215a Add -R option to merge-to-branch script to revert from bleeding_edge.
Usage:
tools/merge-to-branch.sh -R 12345 12346

R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 12:55:02 +00:00
yangguo@chromium.org
aa3518a0f3 Make sure files end with exactly one new line and police this in presubmit.
The changes are (excluding presubmit.py) mechanical. I added the following
lines after the check and iterated the presubmit script until all errors
went away:

f = open(name, "w");
if contents.endswith('\n\n'):
  f.write(contents[0:-1])
else:
  f.write(contents + '\n')

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 13:50:39 +00:00
jochen@chromium.org
a294defe9b Remove usage of deprecated APIs from v8 itself
Also turn on depreaction warnings

BUG=v8:3023
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:28:58 +00:00
yangguo@chromium.org
de432db19a Exclude benchmark tests from presubmit check in a non-git checkout.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:21:43 +00:00
jochen@chromium.org
4452341b55 Clean up incorrect V8_DEPRECATION macro usage and enable deprecatitions
We turn the default for standalone builds on, however, I added overrides
to all targets to turn it locally off again. In follow up CLs, I'll
clean up one target at a time.

BUG=v8:3023
R=dcarney@chromium.org, machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:57:55 +00:00
machenbach@chromium.org
416e82bb24 Pythonification and refactoring of push-to-trunk.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 09:48:43 +00:00
yangguo@chromium.org
a7d38f7a41 Reland: Embed trigonometric lookup table.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 08:25:50 +00:00
machenbach@chromium.org
870c32e4b1 Make auto-roll testable.
Refactor the mock code for easier reuse. Mock out web requests.

TEST=python -m unittest test_scripts
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 07:56:00 +00:00
danno@chromium.org
8e266c2244 Revert 17963, 17962 and 17955: Random number generator in JS changes
Revert 17966, 17965 also as collateral damage: Embed trigonometric lookup table.

Due to Heapcheck and valgrind failures that are not yet fixed.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 17:21:00 +00:00
jochen@chromium.org
a9af0948cf Reland r17877 - Introduce a v8::Platform class that bundles embedder callbacks
Over the initial commit, this CL moves the lifetime management of the default
platform to v8.cc from api.cc

R=bmeurer@chromium.org, svenpanne@chromium.org
BUG=v8:3015
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 14:07:06 +00:00
yangguo@chromium.org
2340aa4164 Fix build.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 13:30:14 +00:00
yangguo@chromium.org
7c67e74b48 Embed trigonometric lookup table.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 12:57:23 +00:00
machenbach@chromium.org
121ef80c10 Let ChangeLog get auto-generated in push-to-trunk script.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:35:25 +00:00
machenbach@chromium.org
718b38648f Force 'git cl upload' in push-to-trunk forced mode.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:53:11 +00:00
rmcilroy@chromium.org
57dc3139cb Remove deprecated v8-defaults.h and defaults.cc.
BUG=312241
LOG=Y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 11:20:01 +00:00
machenbach@chromium.org
8b38259728 Add forced mode to push-to-trunk script.
This CL depends on https://codereview.chromium.org/65933003/.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 08:49:42 +00:00
machenbach@chromium.org
6fcd94cc7c Refactor and improve bug line generation for push-to-trunk.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 08:25:17 +00:00
jochen@chromium.org
e744b82fae Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks
This also reverts 17879 and 17880.

BUG=v8:3015
TBR=svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 14:28:07 +00:00
machenbach@chromium.org
12755f7f7c Fix push-to-trunk runtime call.
This broke after a recent refactoring.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:44:51 +00:00
jochen@chromium.org
c24ce076e9 Introduce a v8::Platform class that bundles embedder callbacks
Also provide a default implementation to use in cctests.

For now, there are just two thread releated callbacks. In future CLs, I will
move callbacks registered e.g. via V8::SetFooCallback over.

BUG=v8:3015
R=svenpanne@chromium.org, danno@chromium.org
LOG=no

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:44:36 +00:00
machenbach@chromium.org
775201dbd1 Add initial auto-roll script.
To be called with a cron job.

TEST=tools/push-to-trunk/auto_roll.py

TODO: Add a revision filter to allow "MIPS" related changes to take over the lkgr.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 14:10:47 +00:00
machenbach@chromium.org
c0b7020983 Refactor ChangeLog generation for push-to-trunk script.
This extracts the Git-independent part of the change log body generation. This CL intends no change in behavior.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:34:32 +00:00
machenbach@chromium.org
a2c722a7b3 Fixed blocking dcommit in push-to-trunk script.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 14:50:17 +00:00
yurys@chromium.org
c7b1b79e4d This is the exact copy of r17365 which was reverted in r17488 due to memory corruption. The root cause for the memory corruption - missing check for bump pointer limit before storing filler map must be addressed in r17626 where allocation hooks were removed from the generated code and left only in the runtime.
This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.

BUG=chromium:277984,v8:2949
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 12:13:26 +00:00
ulan@chromium.org
3099783743 Add a flag to lexer-shell to replicate input file.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 18:16:19 +00:00
ulan@chromium.org
81761f9dc6 Add lexer-shell for running lexer benchmarks.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 12:26:09 +00:00
machenbach@chromium.org
f27eca66b3 Add more test coverage to push-to-trunk script.
Ensure that fetching commits works with huge change logs. The verbosity option will help debugging when dcommit hangs.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 13:11:15 +00:00
machenbach@chromium.org
a8f77a54cf Add push-to-trunk python port.
Preliminary version.

TODO: Add wrapper script in tools dir.
TODO: Some refactoring.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 14:27:16 +00:00
svenpanne@chromium.org
ad3478bb2f Use a fixed random seed per default.
To get back the old behavior, use "make randomseed=0 ...".

BUG=v8:1880,v8:2885
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:01:26 +00:00
dslomov@chromium.org
6179ebbf42 Add simple inline macros to js2c and use that for typed array constructors.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 14:08:03 +00:00
bmeurer@chromium.org
b8660f2091 Revert "Record allocation stack traces".
This reverts commit r17365 for memory corruption. The issues
are most probably related to storing a filler map without
checking the bump pointer first, and traversing the stack
when called from within a stub (or builtin), while the code
assumes that it's called from a JS function.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 13:46:11 +00:00
machenbach@chromium.org
230b47a63b [Sheriff] Mark flaky test.
BUG=v8:2921
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 11:48:31 +00:00
machenbach@chromium.org
3cb584c2b4 Add no-variants option to test runner.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 10:14:02 +00:00
yangguo@chromium.org
7dd2d6c590 Reland "Make Array.prototype.pop throw if the last element is not configurable."
This relands r17346.

R=machenbach@chromium.org
BUG=311164

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:55:56 +00:00
yurys@chromium.org
a083601e73 Record allocation stack traces
This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.

BUG=chromium:277984,v8:2949
R=hpayer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 09:26:55 +00:00
yangguo@chromium.org
0f564cb1b0 Revert "Make Array.prototype.pop throw if the last element is not configurable."
This reverts commit r17346.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 07:48:23 +00:00
yangguo@chromium.org
e25920da19 Make Array.prototype.pop throw if the last element is not configurable.
Popping an element from an array should call [[Delete]] internal method
and pass true as the second argument (ECMA-262/5.1/#sec-15.4.4.6).
When the last element can't be deleted, throw a Type Error.
Not throwing the error would result in endless loop in the following test.

TEST=var a=[];Object.defineProperty(a,0,{});while(a.length)a.pop();

By the way fix another bug, or else i can't post any issues.
"presubmit.py" throw a "missing a correct copyright header" on windows.
Both the slash and the backslash are valid path separator on windows.

R=yangguo@chromium.org

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

Patch from Yanagi <admin@web-tinker.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 16:19:24 +00:00
machenbach@chromium.org
eb1b2a7121 Add test for push-to-trunk script.
This is a prototype attempt for testing the push-to-trunk script. There are several todos left, but it is not clear if it is worth investing time into those. The test is meant to aid in verifying modifications in the push-to-trunk script.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 06:59:35 +00:00
bmeurer@chromium.org
9c26c6a3f2 [Sheriff] Revert "Record allocation stack traces" and "Temporarily disable test-heap-profiler/TrackHeapAllocations".
This reverts commit r17301 and r17303 for breaking the nosnap builds.

TBR=yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 06:56:19 +00:00
yurys@chromium.org
66bb9d1563 Record allocation stack traces
This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

BUG=chromium:277984
R=hpayer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 15:22:11 +00:00
danno@chromium.org
4c565138b5 Add tool to visualize machine code/lithium.
In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.

Originally reviewed in this CL: https://codereview.chromium.org/24957003/

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 13:35:48 +00:00
yangguo@chromium.org
575438518c Harmony: implement Math.sign.
R=dslomov@chromium.org
BUG=v8:2938

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 09:16:31 +00:00
svenpanne@chromium.org
882778bf09 Make it possible to run a test only in the standard variant.
Use this for mjsunit/unicode-case-overoptimization, which is not
related to Crankshaft at all and takes ages.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-17 13:09:28 +00:00
mvstanton@chromium.org
8f9f192f6e AllocationSites for all literals
R=hpayer@chromium.org

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


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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-16 08:10:36 +00:00
mvstanton@chromium.org
f4edc076d8 Revert "AllocationSites for all literals"
This reverts commit r17219 due to WebKit failures.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 15:35:23 +00:00
mvstanton@chromium.org
362c0cfbca AllocationSites for all literals
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 14:52:58 +00:00
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
jkummerow@chromium.org
2e3057c69f Add additional postmortem debugging metadata to support decoding two-byte
strings, sliced strings, and changes to some object property representations.

R=jkummerow@chromium.org

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

Patch from David Pacheco <dap@joyent.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:08:52 +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
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
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
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
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
jochen@chromium.org
02b160f35c Remove parallel marking support.
The framework isn't used, and won't be used in the near future

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:06:43 +00:00
jkummerow@chromium.org
a01e029882 Delete references to old_statusfile.py
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 09:52:21 +00:00
yangguo@chromium.org
7f1fd5e16c Restrict recorded execution pauses to the required range.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:45:17 +00:00
hpayer@chromium.org
4c01c4040a Re-land "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime."
Adds ConfigureResourceConstraintsForCurrentPlatform and SetDefaultResourceConstraintsForCurrentPlatform which configure the heap based on the available physical memory, rather than hard-coding by platform as previous. This change also adds OS::TotalPhysicalMemory to platform.h.

The re-land fix the performance regression caused by accidental change in default max young space size.

BUG=292928
R=hpayer@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 10:53:07 +00:00
machenbach@chromium.org
936802ae21 Revert "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime." and "Fix Windows build of defaults.cc."
This reverts commit r16964 and r16968 due to performance regressions in octane.

TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 09:45:14 +00:00
titzer@chromium.org
d441160cab Implement local check elimination on basic blocks.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 16:25:57 +00:00
hpayer@chromium.org
a57300fb9e Add methods to enable configuration of ResourceConstraints based on limits derived at runtime.
Adds ConfigureResourceConstraintsForCurrentPlatform and SetDefaultResourceConstraintsForCurrentPlatform which configure the heap based on the available physical memory, rather than hard-coding by platform as previous.  This change also adds OS::TotalPhysicalMemory to platform.h.

BUG=292928
R=danno@chromium.org, hpayer@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 13:31:19 +00:00
machenbach@chromium.org
0cb81e8e62 Add windows to status variable list.
This will allow to modify test expectation for system==windows.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 12:37:00 +00:00
yangguo@chromium.org
b8534d6a82 Scripts should not care about closed tree when committing.
I just got bitten by this when merging to branch.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 13:35:45 +00:00
bmeurer@chromium.org
227bd35489 Avoid fallback to weak entropy for the PRNGs on Windows.
Add fallback to rand_s() to gather entropy on Windows for
seeding the random number generator. This is compatible
with what Blink does.

BUG=v8:2905
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 13:27:58 +00:00
jkummerow@chromium.org
e7130a1e2b Migrate to new test status file syntax
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 12:08:33 +00:00
ulan@chromium.org
9de5748460 Android: sync test/intl to device and disable default-locale.js test.
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 11:49:33 +00:00
bmeurer@chromium.org
2897c86607 Fix build after r16890.
TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 14:24:33 +00:00
jochen@chromium.org
a3cef1a9db Skip tests failing on the no-i18n bot
R=machenbach@chromium.org, mstarzinger@chromium.org, jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 13:13:57 +00:00
machenbach@chromium.org
1a3f3b0569 Skip intl tests from test262 when intl support is disabled.
Skips the whole intl directory if intl support is disabled through the test driver.

One test outside the intl directory is skipped separately. It will be handled in an extra CL.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 09:26:25 +00:00
jochen@chromium.org
416f2a9ba7 Turn on i18n support by default
This reverts commit r16789

BUG=none
R=machenbach@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 12:07:03 +00:00
verwaest@chromium.org
8754a25197 Fix string and descriptor array decoding in grokdump.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 09:37:31 +00:00
machenbach@chromium.org
eca42c42cb Revert "Turn on i18n support by default", "Update test262 expectations, now that 15.5.4.9_CE passes", "Make testing i18n the default.", "Mark two failing mozilla tests as failing.", "Mark mozilla tests as flaky instead of failing" and "Fix test expectations for i18n."
This reverts commit 16783-16788 due to several crashers on nosnap builder.

TBR=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 13:50:00 +00:00
machenbach@chromium.org
7e0cc85765 Make testing i18n the default.
If i18n support is on when building with make, the intl test suite is automatically run with "check".

On the bots, we'll turn it off explicitly, where required.

R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 08:58:01 +00:00