- 11 Dec, 2015 1 commit
-
-
jarin authored
Review URL: https://codereview.chromium.org/1513383003 Cr-Commit-Position: refs/heads/master@{#32803}
-
- 10 Dec, 2015 1 commit
-
-
jarin authored
MachineType is now a class with two enum fields: - MachineRepresentation - MachineSemantic Both enums are usable on their own, and this change switches some places from using MachineType to use just MachineRepresentation. Most notably: - register allocator now uses just the representation. - Phi and Select nodes only refer to representations. Review URL: https://codereview.chromium.org/1513543003 Cr-Commit-Position: refs/heads/master@{#32738}
-
- 15 Sep, 2015 1 commit
-
-
jarin authored
Review URL: https://codereview.chromium.org/1333353005 Cr-Commit-Position: refs/heads/master@{#30725}
-
- 08 Jul, 2015 1 commit
-
-
bmeurer authored
We actually need round to zero truncation to implement the counterpart of LDoubleToI in TurboFan, which tries to convert a double to an integer as required for keyed load/store optimizations. Drive-by-cleanup: Reduce some code duplication in the InstructionSelector implementations. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1225993002 Cr-Commit-Position: refs/heads/master@{#29527}
-
- 03 Jul, 2015 1 commit
-
-
titzer authored
Also add control inputs to 64-bit integer divide and modulus operations. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1223613002 Cr-Commit-Position: refs/heads/master@{#29460}
-
- 23 Jun, 2015 1 commit
-
-
titzer authored
This makes usage of the MachineOperatorBuilder more robust, as it will be an error to request an unsupported operator. Along the way, I noticed that all 7 platforms support Float32Abs and Float64Abs. Should make them non-optional in another CL? R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1128133003 Cr-Commit-Position: refs/heads/master@{#29223}
-
- 08 Apr, 2015 1 commit
-
-
Benedikt Meurer authored
These operators compute the absolute floating point value of some arbitrary input, and are implemented without any branches (i.e. using vabs on arm, and andps/andpd on x86). R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/1066393002 Cr-Commit-Position: refs/heads/master@{#27662}
-
- 30 Mar, 2015 1 commit
-
-
bmeurer authored
This adds the basics necessary to support float32 operations in TurboFan. The actual functionality required to detect safe float32 operations will be added based on this later. Therefore this does not affect production code except for some cleanup/refactoring. In detail, this patchset contains the following features: - Add support for float32 operations to arm, arm64, ia32 and x64 backends. - Add float32 machine operators. - Add support for float32 constants to simplified lowering. - Handle float32 representation for phis in simplified lowering. In addition, contains the following (related) cleanups: - Fix/unify naming of backend instructions. - Use AVX comparisons when available. - Extend ArchOpcodeField to 9 bits (required for arm64). - Refactor some code duplication in instruction selectors. BUG=v8:3589 LOG=n R=dcarney@chromium.org Review URL: https://codereview.chromium.org/1044793002 Cr-Commit-Position: refs/heads/master@{#27509}
-
- 20 Mar, 2015 1 commit
-
-
Benedikt Meurer authored
R=dcarney@chromium.org, yangguo@chromium.org BUG=v8:3952 LOG=n Review URL: https://codereview.chromium.org/1021183002 Cr-Commit-Position: refs/heads/master@{#27329}
-
- 12 Mar, 2015 1 commit
-
-
bmeurer authored
Basically recognize certain x < y ? x : y constructs and turn that into Float64Min/Float64Max operations, if the target machine supports that. On x86 we lower to (v)minsd/(v)maxsd. R=dcarney@chromium.org Review URL: https://codereview.chromium.org/998283002 Cr-Commit-Position: refs/heads/master@{#27160}
-
- 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}
-
- 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}
-
- 02 Jan, 2015 1 commit
-
-
bmeurer authored
The machine-operator-unittest.cc file was missing from unittests.gyp. Fixed the compiler errors and added it back. TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/824243003 Cr-Commit-Position: refs/heads/master@{#25948}
-
- 29 Oct, 2014 1 commit
-
-
titzer@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/686213002 Cr-Commit-Position: refs/heads/master@{#24995} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
Also add backend flags that tell whether integer division/modulus is generally safe, i.e. does not trap on overflow or divide by zero. TEST=unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/681133004 Cr-Commit-Position: refs/heads/master@{#24942} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Oct, 2014 1 commit
-
-
sigurds@chromium.org authored
These operators are not supported by any backends yet, and a backend is free to not support them. R=bmeurer@chromium.org TEST=unittest/machine-operator Review URL: https://codereview.chromium.org/668173002 Cr-Commit-Position: refs/heads/master@{#24874} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=cctest,mjsunit,unittests R=dcarney@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/654833002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2014 5 commits
-
-
mstarzinger@chromium.org authored
R=bmeurer@chromium.org TEST=cctest/test-run-stackcheck/TerminateAtMethodEntry Review URL: https://codereview.chromium.org/621833003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Also remove the now obsolete ControlEffect operator. TEST=cctest,mjsunit,unittests R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/620803003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
R=bmeurer@chromium.org, mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/620773003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
As per discussion on the V8 team, this is the place we want them to live, not following the Chrome Style Guide for this. BUG=v8:3489 LOG=y R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/615393002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=bmeurer@chromium.org, titzer@chromium.org TEST=compiler-unittests/MachineOperatorTest Review URL: https://codereview.chromium.org/615083002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
Review URL: https://codereview.chromium.org/618643002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=bmeurer@chromium.org TEST=compiler-unittests/JSBuiltinReducerTest.MathSqrt Review URL: https://codereview.chromium.org/595963002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Sep, 2014 2 commits
-
-
bmeurer@chromium.org authored
This adds Float32Constant, ChangeFloat32ToFloat64 and TruncateFloat64ToFloat32 operators. TEST=compiler-unittests BUG=v8:3589 LOG=n R=titzer@chromium.org Review URL: https://codereview.chromium.org/594493002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/585413002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/559413002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
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
-
- 10 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests,cctest R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/555283004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests BUG=v8:3489 LOG=n R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/540823002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
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
-
- 01 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
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
-
- 20 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
Fix ChangeLowering to use TruncateFloat64ToInt32. TEST=cctest,compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/484103002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Aug, 2014 2 commits
-
-
bmeurer@chromium.org authored
TBR=jarin@chromium.org Review URL: https://codereview.chromium.org/472823003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This affects arm64 and x64. Note that we do not yet optimize these conversions. Later we will add support for merging these conversion operators into other operations during instruction selection. TEST=cctest,compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/487723002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-