Commit Graph

1737 Commits

Author SHA1 Message Date
Sven Panne
40567349df Remove funky 2-stage initialization of ParserInfo and an adventurous memset.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27155}
2015-03-12 11:46:32 +00:00
bmeurer
022ea7e057 [turbofan] Unify Math.floor / Math.ceil optimization.
Provide an intrinsic %MathFloor / %_MathFloor that is used to optimize
both Math.ceil and Math.floor, and use the JS inlining mechanism to
inline Math.ceil into TurboFan code. Although we need to touch code
outside of TurboFan to make this work, this does not affect the way we
handle Math.ceil and/or Math.floor in CrankShaft, because for CrankShaft
the old-style builtin function id based inlining still kicks in first.

Once this solution is stabilized, we can use it for Math.floor as well.
And once that is settled, we can establish it as the unified way to
inline builtins, and get rid of the specialized builtin function id
based inlining at some point.

Note that "builtin" applies to basically every piece of internal
JavaScript/intrinsics based code, so this also applies to the yet to be
defined JavaScript based code stubs and handlers.

BUG=v8:3953
LOG=n
R=yangguo@chromium.org,svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27086}
2015-03-10 08:42:53 +00:00
titzer
0f6702562e Extract ParseInfo from CompilationInfo.
Rationale: separate the inputs and outputs of parsing + analysis from the business of compiling (i.e. generating machine code).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27078}
2015-03-09 14:51:24 +00:00
yangguo
67bc45c278 Hide Math function implementations in a closure.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27072}
2015-03-09 13:25:44 +00:00
Weiliang Lin
a5fa093d0b introduce android_x64 build target
BUG=
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27055}
2015-03-09 03:23:12 +00:00
Michael Achenbach
5a3f085de9 Whitespace change to test recipe trigger.
Cr-Commit-Position: refs/heads/master@{#27053}
2015-03-06 19:55:19 +00:00
machenbach
934dd88d3b Make automated branch creation gnumbd-save.
This makes now the same simplification as the chromium
release scripts do. For creating branch B from a gnumbd'ed
(aka real) commit X do:
1. Branch Y off the real X
2. Set refs/pending/heads/B to Y
3. Set refs/pending-tags/B to X
4. Set refs/heads/B to X

The old algorithm tried to branch off the pending
correspondent of X. That commit was determined by comparing
tree objects of the real X and commits on pending.
Unfortunately, multiple commits on one branch can refer to
the same tree object, e.g., for commits P, Q, R with R being
the revert of Q, P and R refer to the same tree object.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
TEST=tools/release/create_release.py -a me -r you --dry-run

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

Cr-Commit-Position: refs/heads/master@{#27042}
2015-03-06 13:10:33 +00:00
machenbach
f96e226011 Fix progress check in auto-roller.
Using a git range check for checking progress is wrong when
the last rolled revision and the revision candidate are on
different branches. The range A..B will always show the
commits from the merge-base of A and B until B.

Better compare the tags of the last rolled revision and the
candidate. The candidate's version must be strictly greater
than what's in chromium.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#27021}
2015-03-05 14:05:12 +00:00
machenbach
a6a0bd8846 Make auto-roller roll recent release based on timestamp.
Before this change, out of two versions 4.2.13.1 and
4.2.14, the latter would have been considered the newest.
Now, the timestamp of the commit determines the age, which
allows to roll a patched version first. The auto-roller
will only roll forward (i.e. there needs to be a commit
range between the last roll and the new candidate).

Additionally, this CL does some cleanups:
- Use the sheriff detection mechanism in the auto-roller.
- Require the roll revision parameter in the chromium_roll
script to avoid redundancy. The auto_roll script determines
that revision automatically.
- Simplify the revision summary in the commit message. The
summary will now show last_roll..new_roll, which e.g.
includes the version change CL. It'll now show useful
information for cherry-picks, which it didn't before.
- Remove unused clusterfuzz check. That check is part of the
release process script.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
TEST=./tools/release/chromium_roll.py --dry-run --sheriff -c ~/tmp/chromium/src --last-roll 55b9049ea3978a589d8db2aa191d21222eef737f fc263505535a175c8efa18f4c787bd92a1d1ab3d --use-commit-queue -r me -a you

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

Cr-Commit-Position: refs/heads/master@{#27009}
2015-03-05 10:50:08 +00:00
machenbach
002b1ddb0e Make the auto-pusher recover easier.
The auto-push script is only used in an automated fashion
on bots. It doesn't need to check for a clean git
environment as it has a special workdir checkout.

If the release creation fails for whatever reason (e.g.
a master restart happens in the middle), the workdir
checkout might be left dirty. Any new attempt of the auto
pusher then bails out.

After this change it will call the create_release script
in any case which tidies up the workspace on startup.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26928}
2015-02-27 22:23:33 +00:00
machenbach
9dac60ad2d Add public version macros.
Side note: tools/v8-info.sh seems to have been broken ever
since the move to git.  At least it's not more broken now.

BUG=v8:3075
LOG=y

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26873}
2015-02-26 08:59:23 +00:00
marja
238ad54d0f Move compilation error handling into a separate class.
In addition to Parser, other phases (such as scope analysis) need to handle
compilation errors in the future. PendingCompilationErrorHandled takes care of
error handling in a unified way.

Split from https://codereview.chromium.org/943543002/ .

R=rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26853}
2015-02-25 14:18:34 +00:00
machenbach
c61fceca68 Prepare v8 android perf runner for external startup data.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26825}
2015-02-24 14:07:30 +00:00
machenbach
42dcc6f4b7 Switch to new branching model in auto-push script.
BUG=chromium:391261
LOG=n
TBR=tandrii@chromium.org
NOTRY=true

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26821}
2015-02-24 13:03:58 +00:00
bmeurer
dcf193f18c [turbofan] Strength reduction for inline comparisons.
Perform strength reduction on machine operators with inline comparisons:

  CMP & 1 => CMP
  1 & CMP => CMP
  CMP << 31 >> 31 => CMP

Also strength reduce the following constructs:

  x + (0 - y) => x - y
  (0 - y) + x => x - y

R=dcarney@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26817}
2015-02-24 12:26:29 +00:00
loislo
9b02dc5b5f CpuProfiler: move StringsStorage class to separate source and header files.
Mechanical change.

This will break dependency between profiler-generator and heap-profiler-generator.
Later this will help us to reuse SourcePosition in cpu-profiler.

BUG=452067
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26780}
2015-02-20 15:16:00 +00:00
machenbach
b039a75ec5 Whitespace change to test new CQ config.
TBR=tandrii@chromium.org,

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

Cr-Commit-Position: refs/heads/master@{#26776}
2015-02-20 13:47:39 +00:00
Benedikt Meurer
9e6181d5c3 [turbofan] Finally get rid of the generic algorithm.
R=svenpanne@chromium.org

Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
Cr-Commit-Position: refs/heads/master@{#26760}

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

Cr-Commit-Position: refs/heads/master@{#26767}
2015-02-20 10:12:00 +00:00
machenbach
c7810004bb Revert of [turbofan] Finally get rid of the generic algorithm. (patchset #2 id:20001 of https://codereview.chromium.org/944803002/)
Reason for revert:
Breaks dbg builds.

Original issue's description:
> [turbofan] Finally get rid of the generic algorithm.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
> Cr-Commit-Position: refs/heads/master@{#26760}

TBR=svenpanne@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26763}
2015-02-20 09:14:44 +00:00
machenbach
ef01ef07ab Add sheriff details to roll commit message.
Add a link with instructions about how to assign v8
issues to the chromium roll commit message.

Remove googler mapping feature as it doesn't apply anymore
to any generalist sheriff.

NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26761}
2015-02-20 08:50:53 +00:00
Benedikt Meurer
5bbe693e48 [turbofan] Finally get rid of the generic algorithm.
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26760}
2015-02-20 08:42:51 +00:00
ishell
ab64150956 Minor tools/grokdump improvements: avoid some None dereferences and add some line breaks to generated html pages.
Review URL: https://codereview.chromium.org/943573002

Cr-Commit-Position: refs/heads/master@{#26752}
2015-02-19 14:36:24 +00:00
adamk
27e8a455df Rename Interface to ModuleDescriptor
ModuleDescriptor will end up holding the set of data described in the
spec as a "Module record". This introduces a little bit of confusion
with ModuleInfo, but I hope that'll become clearer over time.

Also removed the interface-printing flags. We probably want
Module-printing flags, but that can wait until we have more
Module-related structures.

BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26728}
2015-02-18 18:25:21 +00:00
machenbach
94e683b526 Make gcmole execute in parallel.
TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26724}
2015-02-18 15:35:34 +00:00
machenbach
7307bf0ff3 Make gcmole correctly handle 32 bit architectures.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26723}
2015-02-18 14:51:09 +00:00
bmeurer
acd9c46ca7 [turbofan] Optimize certain chains of Branch into a Switch.
This adds a new ControlFlowOptimizer that - for now - recognizes chains
of Branches generated by the SwitchBuilder for a subset of javascript
switches into Switch nodes. Those Switch nodes are then lowered to
either table or lookup switches.

Also rename Case to IfValue (and introduce IfDefault) for consistency.

BUG=v8:3872
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26691}
2015-02-17 13:29:46 +00:00
machenbach
b8ade81ab5 Fix branch test for merge script.
Failing calls to show-ref cause an exception in python.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26684}
2015-02-17 11:40:18 +00:00
machenbach
066d1633a2 Fix typo in merge script.
BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26676}
2015-02-16 19:07:38 +00:00
machenbach
b351e3020f Fix v8rel script after adding roll branches.
Use git hashes as keys when referring to releases, not
pure commit position numbers as those are not unique.

Better bailout to only check for recent releases.

Add new branching method with a roll branch in heads to
the v8rel test case.

Fix the way v8 is referred to in DEPS files in the test
cases. The test still had svn-number style.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26669}
2015-02-16 17:01:00 +00:00
machenbach
15c269b760 Include range summary when rolling into chromium.
BUG=chromium:457022
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26659}
2015-02-16 12:21:47 +00:00
machenbach
bbb639adb7 Fix branch name in merge script.
BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py

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

Cr-Commit-Position: refs/heads/master@{#26657}
2015-02-16 11:57:41 +00:00
Dmitry Lomov
7866f00508 Remove --experimental-classes flag and related dead code.
R=arv@chromium.org
BUG=v8:3834
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26631}
2015-02-12 20:07:15 +00:00
machenbach
44bc8646c3 Create v8 roll branches in refs/heads.
This is needed as normal chromium checkouts don't fetch
branch-heads.

These branches will also be replicated by GitHub and are
fetched when cloning from the repository.

The expected object size will be the same or smaller than
before as we currently push the same information onto the
candidates branch (which already is in refs/heads). The only
difference is the increasing number of refs in refs/heads.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

TEST=./script_test.py
TEST=tools/release/create_release.py -r machenbach@chromium.org -a machenbach@chromium.org --dry-run

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

Cr-Commit-Position: refs/heads/master@{#26629}
2015-02-12 18:34:32 +00:00
marja
df0cb9999f Parsing: Make Parser not know about Isolate during background parsing.
Parser must be able to operate independent of Isolate and the V8 heap during
parsing. After the heap-independent phase, there is a heap dependent phase,
during which we internalize strings, handle errors, etc.

This makes Isolate (also via CompilationInfo) unaccessible during parsing, and
thus decreases the probability of accidental code changes which would add
heap-dependent operations into the heap-independent phase.

Since Isolate is also accessible via CompilationInfo, now CompilationInfo is
only passed to the entry points of parsing, and not stored in Parser.

R=rossberg@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26612}
2015-02-12 13:02:44 +00:00
bmeurer
3336d2e11e [turbofan] Merge node-aux-data-inl.h into node-aux-data.h.
Google style guide forbids -inl.h headers.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26611}
2015-02-12 13:01:29 +00:00
bmeurer
42c30b8f39 [ycm] The YouCompleteMe configuration is not VIM specific.
Rename tools/vim/v8.ycm_extra_conf.py to .ycm_extra_conf.py, so every
YCM plugin (no matter if it's VIM or Emacs) should pick it up
automatically.

Also move the common tools/vim/ninja_output.py to tools/ninja/ as it's
also not related to VIM.

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

Cr-Commit-Position: refs/heads/master@{#26602}
2015-02-12 07:21:13 +00:00
dcarney
79417664b2 remove undetectable strings
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26571}
2015-02-11 09:28:12 +00:00
Benedikt Meurer
f2369fa335 [vim] Pass correct -std flags to YCM libclang.
TBR=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26566}
2015-02-11 07:43:10 +00:00
bmeurer
a1cb0616d2 [vim] Add YouCompleteMe configuration.
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26564}
2015-02-11 07:12:05 +00:00
bmeurer
b10d55fd34 [vim] Add ninja-powered CrBuild/CrCompileFile functions.
These are based on the ninja-build.vim file found in Chromium, adapted
to V8, and enhanced with goma support (automatically increase job limit
for ninja if goma is detected).

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

Cr-Commit-Position: refs/heads/master@{#26563}
2015-02-11 06:59:14 +00:00
arv
68e4897586 Remove Function.prototype.toMethod
Function.prototype.toMethod was removed from ES6.

This removes the function and updates the tests to either
use %ToMethod or a dedicated syntax (using concise method
or a class).

BUG=v8:3330
LOG=N
R=dslomov@chromium.org, adamk

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

Cr-Commit-Position: refs/heads/master@{#26559}
2015-02-10 22:13:43 +00:00
Michael Achenbach
59c55842b8 Revert "Whitespace CL to test poller."
This reverts commit f27de256c1.

Cr-Commit-Position: refs/heads/master@{#26552}
2015-02-10 17:01:14 +00:00
Michael Achenbach
f27de256c1 Whitespace CL to test poller.
Cr-Commit-Position: refs/heads/master@{#26548}
2015-02-10 16:03:58 +00:00
ishell
21b2ea80f7 Grokdump workaround for different layout of *_LIST structures written to minidumps on Mac.
Review URL: https://codereview.chromium.org/902853002

Cr-Commit-Position: refs/heads/master@{#26456}
2015-02-05 11:47:14 +00:00
dcarney
8064582626 Move the contents of api-natives.js to c++
R=verwaest@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26426}
2015-02-04 13:01:44 +00:00
Daniel Vogelheim
8c652127f7 Whitespace change to trigger bots.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26408}
2015-02-03 17:24:53 +00:00
Michael Achenbach
327393b8ce Whitespace change to test goma.
Cr-Commit-Position: refs/heads/master@{#26397}
2015-02-03 13:00:34 +00:00
fedor
a0d0c4333d tools: fix postmortem generator
BUG=
R=danno

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

Cr-Commit-Position: refs/heads/master@{#26389}
2015-02-02 21:21:54 +00:00
titzer
2379d34bdc [turbofan] Put StructuredGraphBuilder out of its misery and merge its remnants back into the AstGraphBuilder.
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26387}
2015-02-02 19:10:02 +00:00
Michael Achenbach
d166735d0a Whitespace change to test goma activation.
Cr-Commit-Position: refs/heads/master@{#26383}
2015-02-02 15:58:15 +00:00