- 18 Mar, 2015 1 commit
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1012023002 Cr-Commit-Position: refs/heads/master@{#27259}
-
- 17 Mar, 2015 1 commit
-
-
jarin authored
This change introduces a liveness analyzer for local variables in frame states. The main idea is to use the AstGraphBuilder::Environment class to build the control flow graph, and record local variable loads, stores and checkpoints in the CFG basic blocks (LivenessAnalyzerBlock class). After the graph building finishes, we run a simple data flow analysis over the CFG to figure out liveness of each local variable at each checkpoint. Finally, we run a pass over all the checkpoints and replace dead local variables in the frame states with the 'undefined' value. Performance numbers for Embenchen are below. ----------- box2d.js Current --turbo-deoptimization: EmbenchenBox2d(RunTime): 11265 ms. d8-master --turbo-deoptimization: EmbenchenBox2d(RunTime): 11768 ms. d8-master: EmbenchenBox2d(RunTime): 10996 ms. ----------- bullet.js Current --turbo-deoptimization: EmbenchenBullet(RunTime): 17049 ms. d8-master --turbo-deoptimization: EmbenchenBullet(RunTime): 17384 ms. d8-master: EmbenchenBullet(RunTime): 16153 ms. ----------- copy.js Current --turbo-deoptimization: EmbenchenCopy(RunTime): 4877 ms. d8-master --turbo-deoptimization: EmbenchenCopy(RunTime): 4938 ms. d8-master: EmbenchenCopy(RunTime): 4940 ms. ----------- corrections.js Current --turbo-deoptimization: EmbenchenCorrections(RunTime): 7068 ms. d8-master --turbo-deoptimization: EmbenchenCorrections(RunTime): 6718 ms. d8-master: EmbenchenCorrections(RunTime): 6858 ms. ----------- fannkuch.js Current --turbo-deoptimization: EmbenchenFannkuch(RunTime): 4167 ms. d8-master --turbo-deoptimization: EmbenchenFannkuch(RunTime): 4608 ms. d8-master: EmbenchenFannkuch(RunTime): 4149 ms. ----------- fasta.js Current --turbo-deoptimization: EmbenchenFasta(RunTime): 9981 ms. d8-master --turbo-deoptimization: EmbenchenFasta(RunTime): 9848 ms. d8-master: EmbenchenFasta(RunTime): 9640 ms. ----------- lua_binarytrees.js Current --turbo-deoptimization: EmbenchenLuaBinaryTrees(RunTime): 11571 ms. d8-master --turbo-deoptimization: EmbenchenLuaBinaryTrees(RunTime): 13089 ms. d8-master: EmbenchenLuaBinaryTrees(RunTime): 10957 ms. ----------- memops.js Current --turbo-deoptimization: EmbenchenMemOps(RunTime): 7766 ms. d8-master --turbo-deoptimization: EmbenchenMemOps(RunTime): 7346 ms. d8-master: EmbenchenMemOps(RunTime): 7738 ms. ----------- primes.js Current --turbo-deoptimization: EmbenchenPrimes(RunTime): 7459 ms. d8-master --turbo-deoptimization: EmbenchenPrimes(RunTime): 7453 ms. d8-master: EmbenchenPrimes(RunTime): 7451 ms. ----------- skinning.js Current --turbo-deoptimization: EmbenchenSkinning(RunTime): 15564 ms. d8-master --turbo-deoptimization: EmbenchenSkinning(RunTime): 15611 ms. d8-master: EmbenchenSkinning(RunTime): 15583 ms. ----------- zlib.js Current --turbo-deoptimization: EmbenchenZLib(RunTime): 10825 ms. d8-master --turbo-deoptimization: EmbenchenZLib(RunTime): 11180 ms. d8-master: EmbenchenZLib(RunTime): 10823 ms. BUG= Review URL: https://codereview.chromium.org/949743002 Cr-Commit-Position: refs/heads/master@{#27232}
-
- 16 Mar, 2015 3 commits
-
-
jarin authored
Instead of the current approach of storing flat vectors in frame states (and possibly reusing the last vector in AST graph builder), this change list builds a tree for the values and tries to reuse the nodes for different frame states. At the moment, we only use this for the local variable part of frame state, but nothing prevents us from using this for all parts. This change provides two new classes: one for creating the tree (StateValuesCache) and one for iterating the trees (StateValuesAccess). BUG= Review URL: https://codereview.chromium.org/1008213002 Cr-Commit-Position: refs/heads/master@{#27222}
-
svenpanne authored
Fix the resulting warnings by renaming things apart. BUG=v8:3947 LOG=n Review URL: https://codereview.chromium.org/1009373002 Cr-Commit-Position: refs/heads/master@{#27219}
-
jacob.bramley authored
BUG= Review URL: https://codereview.chromium.org/1007613005 Cr-Commit-Position: refs/heads/master@{#27213}
-
- 14 Mar, 2015 5 commits
-
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#27199}
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#27198}
-
machenbach authored
Also clean up left alone release branch in the chromium checkout of the v8rel script. TBR=tandrii@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1003383003 Cr-Commit-Position: refs/heads/master@{#27197}
-
machenbach authored
Remembering the current branch is a relic from the past where no work-dir checkout was used. Now this doesn't give much benefit and screws up the script if it was left in a bad state (e.g. after a master restart). TBR=tandrii@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1002383002 Cr-Commit-Position: refs/heads/master@{#27196}
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#27195}
-
- 13 Mar, 2015 2 commits
-
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#27194}
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#27193}
-
- 12 Mar, 2015 2 commits
-
-
Hannes Payer authored
BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1004763002 Cr-Commit-Position: refs/heads/master@{#27170}
-
Sven Panne authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1002673002 Cr-Commit-Position: refs/heads/master@{#27155}
-
- 10 Mar, 2015 1 commit
-
-
bmeurer authored
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}
-
- 09 Mar, 2015 3 commits
-
-
titzer authored
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}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/990883002 Cr-Commit-Position: refs/heads/master@{#27072}
-
Weiliang Lin authored
BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/966773005 Cr-Commit-Position: refs/heads/master@{#27055}
-
- 06 Mar, 2015 2 commits
-
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#27053}
-
machenbach authored
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}
-
- 05 Mar, 2015 2 commits
-
-
machenbach authored
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}
-
machenbach authored
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}
-
- 27 Feb, 2015 1 commit
-
-
machenbach authored
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}
-
- 26 Feb, 2015 1 commit
-
-
machenbach authored
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}
-
- 25 Feb, 2015 1 commit
-
-
marja authored
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}
-
- 24 Feb, 2015 3 commits
-
-
machenbach authored
NOTRY=true Review URL: https://codereview.chromium.org/953893002 Cr-Commit-Position: refs/heads/master@{#26825}
-
machenbach authored
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}
-
bmeurer authored
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}
-
- 20 Feb, 2015 6 commits
-
-
loislo authored
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}
-
machenbach authored
TBR=tandrii@chromium.org, Review URL: https://codereview.chromium.org/938403002 Cr-Commit-Position: refs/heads/master@{#26776}
-
Benedikt Meurer authored
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}
-
machenbach authored
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}
-
machenbach authored
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}
-
Benedikt Meurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/944803002 Cr-Commit-Position: refs/heads/master@{#26760}
-
- 19 Feb, 2015 1 commit
-
-
ishell authored
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}
-
- 18 Feb, 2015 3 commits
-
-
adamk authored
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}
-
machenbach authored
TBR=tandrii@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/931233002 Cr-Commit-Position: refs/heads/master@{#26724}
-
machenbach authored
NOTRY=true Review URL: https://codereview.chromium.org/935843003 Cr-Commit-Position: refs/heads/master@{#26723}
-
- 17 Feb, 2015 2 commits
-
-
bmeurer authored
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}
-
machenbach authored
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}
-