- 10 Mar, 2015 2 commits
-
-
bmeurer authored
BUG=v8:3952 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/997513002 Cr-Commit-Position: refs/heads/master@{#27098}
-
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 2 commits
-
-
Benedikt Meurer authored
Avoid loading the stack pointer and the stack limit into allocatable registers first, but generate a cmp rsp,[limit] instead. R=dcarney@chromium.org Review URL: https://codereview.chromium.org/989203002 Cr-Commit-Position: refs/heads/master@{#27065}
-
Jaroslav Sevcik authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/983153002 Cr-Commit-Position: refs/heads/master@{#27060}
-
- 06 Mar, 2015 1 commit
-
-
svenpanne authored
BUG=v8:3947 LOG=n Review URL: https://codereview.chromium.org/978123003 Cr-Commit-Position: refs/heads/master@{#27039}
-
- 05 Mar, 2015 1 commit
-
-
bmeurer authored
This adds support for the double bits intrinsics to TurboFan, and is a first step towards fast Math functions inlined into TurboFan code or even compiled by themselves with TurboFan. Review URL: https://codereview.chromium.org/974313002 Cr-Commit-Position: refs/heads/master@{#27006}
-
- 03 Mar, 2015 1 commit
-
-
bmeurer authored
Review URL: https://codereview.chromium.org/971223002 Cr-Commit-Position: refs/heads/master@{#26949}
-
- 02 Mar, 2015 2 commits
-
-
Benedikt Meurer authored
- (x * (K << L)) & (-1 << L) => x * (K << L) - ((K << L) * x) & (-1 << L) => x * (K << L) R=dcarney@chromium.org Review URL: https://codereview.chromium.org/972653002 Cr-Commit-Position: refs/heads/master@{#26942}
-
Benedikt Meurer authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/968773004 Cr-Commit-Position: refs/heads/master@{#26939}
-
- 27 Feb, 2015 1 commit
-
-
bmeurer authored
Without this shortcut we generate one BooleanNot per JSUnaryNot with number input, which is quite common in asm.js. These dead nodes then survive until the late control reducer runs, and may prevent optimizations in the mean time. R=dcarney@chromium.org Review URL: https://codereview.chromium.org/963713002 Cr-Commit-Position: refs/heads/master@{#26911}
-
- 26 Feb, 2015 1 commit
-
-
bmeurer authored
Review URL: https://codereview.chromium.org/960783002 Cr-Commit-Position: refs/heads/master@{#26870}
-
- 25 Feb, 2015 2 commits
-
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/951553005 Cr-Commit-Position: refs/heads/master@{#26859}
-
bmeurer authored
Review URL: https://codereview.chromium.org/958533002 Cr-Commit-Position: refs/heads/master@{#26841}
-
- 24 Feb, 2015 5 commits
-
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/755323011 Cr-Commit-Position: refs/heads/master@{#26819}
-
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}
-
mstarzinger authored
R=bmeurer@chromium.org TEST=unittests/SchedulerTest.CallException Review URL: https://codereview.chromium.org/944903002 Cr-Commit-Position: refs/heads/master@{#26816}
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/948033002 Cr-Commit-Position: refs/heads/master@{#26814}
-
bmeurer authored
This implements a special case of block cloning to recognize constructs like if (a ? b : c) { ... } that happen to be generated by Emscripten quite often. Review URL: https://codereview.chromium.org/947963002 Cr-Commit-Position: refs/heads/master@{#26808}
-
- 23 Feb, 2015 1 commit
-
-
bmeurer authored
Revert of [x64] Improve instruction selection for TruncateInt64ToInt32. (patchset #1 id:1 of https://codereview.chromium.org/936323004/) Reason for revert: Breaks SQLite Original issue's description: > [x64] Improve instruction selection for TruncateInt64ToInt32. > > R=svenpanne@chromium.org > > Committed: https://crrev.com/64a2717529e2197f3a789adabf86ca36f5eb764c > Cr-Commit-Position: refs/heads/master@{#26739} TBR=svenpanne@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/928723003 Cr-Commit-Position: refs/heads/master@{#26791}
-
- 20 Feb, 2015 6 commits
-
-
mstarzinger authored
R=bmeurer@chromium.org TEST=unittests/SchedulerTest,unittests/SchedulerRPOTest Review URL: https://codereview.chromium.org/927653004 Cr-Commit-Position: refs/heads/master@{#26778}
-
mstarzinger authored
R=bmeurer@chromium.org TEST=unittests/NodePropertiesTest.CollectControlProjections_Call Review URL: https://codereview.chromium.org/941993002 Cr-Commit-Position: refs/heads/master@{#26777}
-
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}
-
mstarzinger authored
R=titzer@chromium.org,bmeurer@chromium.org Review URL: https://codereview.chromium.org/928213003 Cr-Commit-Position: refs/heads/master@{#26766}
-
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}
-
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
-
-
Benedikt Meurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/936323004 Cr-Commit-Position: refs/heads/master@{#26739}
-
- 18 Feb, 2015 2 commits
-
-
mstarzinger authored
R=bmeurer@chromium.org TEST=unittests/NodePropertiesTest.CollectControlProjections Review URL: https://codereview.chromium.org/935033004 Cr-Commit-Position: refs/heads/master@{#26720}
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/938513003 Cr-Commit-Position: refs/heads/master@{#26712}
-
- 17 Feb, 2015 1 commit
-
-
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}
-
- 12 Feb, 2015 2 commits
-
-
jarin authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/904863002 Cr-Commit-Position: refs/heads/master@{#26621}
-
bmeurer authored
Review URL: https://codereview.chromium.org/924453002 Cr-Commit-Position: refs/heads/master@{#26609}
-
- 11 Feb, 2015 2 commits
-
-
mstarzinger authored
R=bmeurer@chromium.org TEST=unittests/CommonOperatorTest Review URL: https://codereview.chromium.org/912393002 Cr-Commit-Position: refs/heads/master@{#26584}
-
svenpanne authored
A CompilationInfo constructed from just an Isolate* and a Zone* is in weird an inconsistent state (calling e.g. flags() on it will crash), so we need to avoid them. This CL removes almost all of them, the remaining 2 call sites in (for testing only) will be handled in a separate CL. Things which have been changed: * Linkage is basically a decorator for CallDescriptor now. * ChangeLowering doesn't need Linkage at all. * JSGenericLowering doesn't need a full CompilationInfo*, just a single flag. * JSContextSpecializer doesn't need the full CompilationInfo, just a Context. * Removed unused CompilationInfo from SimplifiedLoweringTester. This nicely decouples things already a bit more, but there's still work to do... Review URL: https://codereview.chromium.org/899803003 Cr-Commit-Position: refs/heads/master@{#26580}
-
- 10 Feb, 2015 1 commit
-
-
vogelheim authored
To do so, extract startup_data_util from d8 and use it those executables. BUG= Review URL: https://codereview.chromium.org/913703002 Cr-Commit-Position: refs/heads/master@{#26547}
-
- 09 Feb, 2015 2 commits
-
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/910753002 Cr-Commit-Position: refs/heads/master@{#26524}
-
bmeurer authored
Adds Switch and Case operators to TurboFan and handles them appropriately in instruction selection and code generation. BUG=v8:3872 LOG=n Review URL: https://codereview.chromium.org/892513003 Cr-Commit-Position: refs/heads/master@{#26515}
-
- 06 Feb, 2015 1 commit
-
-
dcarney authored
Review URL: https://codereview.chromium.org/904693002 Cr-Commit-Position: refs/heads/master@{#26479}
-
- 05 Feb, 2015 3 commits
-
-
michael_dawson authored
Contribution of PowerPC port (continuation of 422063005, 817143002 and 866843003) This patch brings the ppc directories up to date with our repo. We have removed 5 individual optimizations which require changes in both the ppc and common directories so they can be more easily reviewed on their own in subsequent patches. Subsequent patches will cover: - individual optimizations for PPC (5) - remaining AIX changes not resolved by 4.8 compiler (4.8 is only recently available for AIX) - incremental updates required to ppc directories due to platform specific changes made in google repos while we complete the above steps. With the update there are still some timeouts seen when run in simulated mode which may be a result of the missing optimizations. Once we have the optimizations in we will review the simulation results and address/exclude tests as necessary so that the simulated runs are clean. new file: src/compiler/ppc/code-generator-ppc.cc new file: src/compiler/ppc/instruction-codes-ppc.h new file: src/compiler/ppc/instruction-selector-ppc.cc new file: src/compiler/ppc/linkage-ppc.cc modified: src/ic/ppc/handler-compiler-ppc.cc modified: src/ic/ppc/ic-compiler-ppc.cc modified: src/ic/ppc/ic-ppc.cc modified: src/ic/ppc/stub-cache-ppc.cc modified: src/ppc/assembler-ppc.cc modified: src/ppc/assembler-ppc.h modified: src/ppc/builtins-ppc.cc modified: src/ppc/code-stubs-ppc.cc modified: src/ppc/code-stubs-ppc.h modified: src/ppc/codegen-ppc.cc modified: src/ppc/constants-ppc.h modified: src/ppc/deoptimizer-ppc.cc modified: src/ppc/disasm-ppc.cc modified: src/ppc/full-codegen-ppc.cc modified: src/ppc/interface-descriptors-ppc.cc modified: src/ppc/lithium-codegen-ppc.cc modified: src/ppc/lithium-codegen-ppc.h modified: src/ppc/lithium-ppc.cc modified: src/ppc/lithium-ppc.h modified: src/ppc/macro-assembler-ppc.cc modified: src/ppc/macro-assembler-ppc.h modified: src/ppc/regexp-macro-assembler-ppc.cc modified: src/ppc/regexp-macro-assembler-ppc.h modified: src/ppc/simulator-ppc.cc modified: src/ppc/simulator-ppc.h new file: test/unittests/compiler/ppc/instruction-selector-ppc-unittest.cc R=danno@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/901083004 Cr-Commit-Position: refs/heads/master@{#26471}
-
marja authored
It doesn't do anything for now, but it implies strict mode. Added tests to test-parsing.cc to test that. BUG= Review URL: https://codereview.chromium.org/898983002 Cr-Commit-Position: refs/heads/master@{#26460}
-
Benedikt Meurer authored
This reverts commit f578d35b because (immutable) heap numbers are surprisingly mutable in V8. Someone else might want to cleanup the mess, otherwise we'll just keep it this way. TBR=jkummerow@chromium.org BUG=chromium:454894 LOG=y Review URL: https://codereview.chromium.org/898973003 Cr-Commit-Position: refs/heads/master@{#26447}
-