- 14 Aug, 2018 1 commit
-
-
Junliang Yan authored
Port 5fecd146 Original Commit Message: This adds support for unaligned load/store access to the DataView backing store and uses byteswap operations to fix up the endianess when necessary. This changes the Word32ReverseBytes operator to be a required operator and adds the missing support on the Intel and ARM platforms (on 64-bit platforms the Word64ReverseBytes operator is also mandatory now). This further improves the performance on the dataviewperf.js test mentioned in the tracking bug by up to 40%, and at the same time reduces the code complexity in the EffectControlLinearizer. R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ia9aad21713a2ad76ce3ef2b816fc20e9a27fe4c9 Reviewed-on: https://chromium-review.googlesource.com/1174936Reviewed-by:
John Barboza <jbarboza@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#55132}
-
- 06 Dec, 2016 1 commit
-
-
bjaideep authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2559433003 Cr-Commit-Position: refs/heads/master@{#41536}
-
- 18 Jul, 2016 1 commit
-
-
bjaideep authored
Port 8e18a5f2 R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/2152363002 Cr-Commit-Position: refs/heads/master@{#37812}
-
- 14 Jun, 2016 1 commit
-
-
bjaideep authored
Port 6470ddad Original commit message: This introduces SilenceNaN operator, which makes sure that we only store quiet NaNs into holey arrays. We omit the NaN silencing code at instruction selection time if the input is an operation that cannot possibly produce signalling NaNs. R=jarin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2069883002 Cr-Commit-Position: refs/heads/master@{#36981}
-
- 13 Jun, 2016 1 commit
-
-
bjaideep authored
Port 7ceed92a Port 89d8c57b Original commit message: Import base::ieee754::atan() and base::ieee754::atan2() from fdlibm and introduce Float64Atan and Float64Atan2 TurboFan operators based on those, similar to what we already did for Float64Log and Float64Log1p. Rewrite Math.atan() and Math.atan2() as TurboFan builtin and use the operators to also inline Math.atan() and Math.atan2() into optimized TurboFan functions. Import base::ieee754::log1p() from fdlibm and introduce a Float64Log1p TurboFan operator based on that, similar to what we do for Float64Log. Rewrite Math.log1p() as TurboFan builtin and use that operator to also inline Math.log1p() into optimized TurboFan functions. Also unify the handling of the special IEEE 754 functions somewhat in the TurboFan backends. At some point we can hopefully express this completely in the InstructionSelector (once we have an idea what to do with the ST(0) return issue on IA-32/X87). Drive-by-fix: Add some more test coverage for the log function. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:5086,v8:5092,v8:5095 LOG=N Review-Url: https://codereview.chromium.org/2061753002 Cr-Commit-Position: refs/heads/master@{#36935}
-
- 03 Jun, 2016 1 commit
-
-
bjaideep authored
Port f2da19fe Original commit message: Introduce a dedicated Float64Log machine operator, that is either implemented by a direct C call or by platform specific code, i.e. using the FPU on x64 and ia32. This operator is used to implement Math.log as a proper TurboFan builtin on top of the CodeStubAssembler. Also introduce a NumberLog simplified operator on top of Float64Log and use that for the fast inline path of Math.log inside TurboFan optimized code. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:5065 LOG=N Review-Url: https://codereview.chromium.org/2036273002 Cr-Commit-Position: refs/heads/master@{#36720}
-
- 22 Apr, 2016 1 commit
-
-
mbrandy authored
TEST=cctest/test-run-load-store/* R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1910123002 Cr-Commit-Position: refs/heads/master@{#35733}
-
- 30 Mar, 2016 1 commit
-
-
mbrandy authored
Port 40bdbef9 Original commit message: Int64Mul is lowered to a new turbofan operator, Int32MulPair. The new operator takes 4 inputs an generates 2 outputs. The inputs are the low word of the left input, high word of the left input, the low word of the right input, and high word of the right input. The ouputs are the low and high word of the result of the multiplication. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1847563003 Cr-Commit-Position: refs/heads/master@{#35143}
-
- 16 Mar, 2016 1 commit
-
-
mbrandy authored
Port 33c08596 Original commit message: Int64Sub is lowered to a new turbofan operator, Int32SubPair. The new operator takes 4 inputs an generates 2 outputs. The inputs are the low word of the left input, high word of the left input, the low word of the right input, and high word of the right input. The ouputs are the low and high word of the result of the subtraction. The implementation is very similar to the implementation of Int64Add. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1812473002 Cr-Commit-Position: refs/heads/master@{#34821}
-
- 15 Mar, 2016 1 commit
-
-
mbrandy authored
Port 1b230799 Original commit message: Int64Add is lowered to a new turbofan operator, Int32AddPair. The new operator takes 4 inputs an generates 2 outputs. The inputs are the low word of the left input, high word of the left input, the low word of the right input, and high word of the right input. The ouputs are the low and high word of the result of the addition. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1803113002 Cr-Commit-Position: refs/heads/master@{#34797}
-
- 10 Mar, 2016 1 commit
-
-
mbrandy authored
Port 240b7db9 R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1780283002 Cr-Commit-Position: refs/heads/master@{#34694}
-
- 08 Mar, 2016 1 commit
-
-
mbrandy authored
Port ddc626e1 Original commit message: I64Shl is lowered to a new turbofan operator, WasmWord64Shl. The new operator takes 3 inputs, the low-word input, the high-word input, and the shift, and produces 2 output, the low-word output and the high-word output. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1765383004 Cr-Commit-Position: refs/heads/master@{#34588}
-
- 08 Feb, 2016 1 commit
-
-
mbrandy authored
Port 187b3f28 R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1680833002 Cr-Commit-Position: refs/heads/master@{#33825}
-
- 16 Jan, 2016 1 commit
-
-
ahaas authored
The new operator converts an int32 input to float32. If the input cannot be represented exactly in float32, the value is rounded using the round-ties-even rounding mode (the default rounding mode). I provide implementations of the new operator for x64, ia32, arm, arm64, mips, mips64, ppc, and ppc64. R=titzer@chromium.org, v8-arm-ports@googlegroups.com, v8-mips-ports@googlegroups.com, v8-ppc-ports@googlegroups.com Review URL: https://codereview.chromium.org/1589363002 Cr-Commit-Position: refs/heads/master@{#33347}
-
- 23 Nov, 2015 1 commit
-
-
mbrandy authored
Port f6e689ce Original commit message: The TruncateFloat64ToUint64 operator converts a float64 to an uint64 using round-to-zero rounding mode (truncate). If the input value is outside uint64 range, then the result depends on the architecture. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1460093002 Cr-Commit-Position: refs/heads/master@{#32181}
-
- 19 Nov, 2015 1 commit
-
-
ahaas authored
The ChangeFloat64ToInt64 operator changes the representation of a float64 input value to int64 if the input value can be represented exactly on int64. Otherwise the result is currently undefined. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1455983002 Cr-Commit-Position: refs/heads/master@{#32102}
-
- 17 Nov, 2015 1 commit
-
-
ahaas authored
and ppc64. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1438013003 Cr-Commit-Position: refs/heads/master@{#32031}
-
- 11 Nov, 2015 2 commits
-
-
mbrandy authored
R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1440733002 Cr-Commit-Position: refs/heads/master@{#31949}
-
mbrandy authored
R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1409073016 Cr-Commit-Position: refs/heads/master@{#31933}
-
- 10 Nov, 2015 2 commits
-
-
mbrandy authored
R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1413833013 Cr-Commit-Position: refs/heads/master@{#31931}
-
mbrandy authored
Port 1e277012 Original commit message: Avoid write barriers when storing values in the root set, and use cheaper write barriers for storing maps or tagged pointers. Also improve the generated code for write barriers, utilizing the out of line code mechanism that is available to TurboFan backends, which moves the unlikely case out of the hot path. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1431923003 Cr-Commit-Position: refs/heads/master@{#31927}
-
- 09 Nov, 2015 1 commit
-
-
mbrandy authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1433733002 Cr-Commit-Position: refs/heads/master@{#31903}
-
- 04 Nov, 2015 1 commit
-
-
mbrandy authored
Port 870e908d R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1428133002 Cr-Commit-Position: refs/heads/master@{#31795}
-
- 16 Oct, 2015 1 commit
-
-
mbrandy authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1409143002 Cr-Commit-Position: refs/heads/master@{#31346}
-
- 22 Sep, 2015 1 commit
-
-
mbrandy authored
R=titzer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1358193002 Cr-Commit-Position: refs/heads/master@{#30870}
-
- 21 Sep, 2015 1 commit
-
-
titzer authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1356913002 Cr-Commit-Position: refs/heads/master@{#30849}
-
- 25 Jun, 2015 1 commit
-
-
mbrandy authored
Port a58ba8d8 Original commit message: This introduces some initial building blocks for calling out to C/C++ functions directly from TurboFan generated code objects. R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1206343002 Cr-Commit-Position: refs/heads/master@{#29304}
-
- 09 Apr, 2015 1 commit
-
-
michael_dawson authored
Port 9af9f1d0 Original commit message: 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=mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1072963002 Cr-Commit-Position: refs/heads/master@{#27727}
-
- 31 Mar, 2015 1 commit
-
-
michael_dawson authored
Port 8dad78cd Original commit message: 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=mbrandy@us.ibm.com Review URL: https://codereview.chromium.org/1049253004 Cr-Commit-Position: refs/heads/master@{#27547}
-
- 24 Mar, 2015 1 commit
-
-
michael_dawson authored
Port 3aa206b8 Original commit message: R=dcarney@chromium.org, yangguo@chromium.org BUG=v8:3952 LOG=n R=mbrandy@us.ibm.com, svenpanne@chromium.org, danno@chromium.org, jkummerow@chromium.org Review URL: https://codereview.chromium.org/1028313003 Cr-Commit-Position: refs/heads/master@{#27391}
-
- 16 Mar, 2015 1 commit
-
-
michael_dawson authored
R=danno@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/1006913002 Cr-Commit-Position: refs/heads/master@{#27202}
-
- 11 Mar, 2015 1 commit
-
-
michael_dawson authored
Contribution of PowerPC port (continuation of 422063005, 817143002,866843003, and 901083004). This patch updates the ppc directories to make them current with changes in common code as of today. We had to exclude the test test-serialize/SerializeInternalReference until we agree on the right way to add those changes for PPC as outlined in the description in the google doc provided earlier. We also had to exclude a couple of other tests due to new failures seen since the last uplevel. We excluded as opposed to waiting until we could investigate to maximize the chance of getting PPC compiling in the google repos before new breaking changes are made. I'll note that before applying any of our changes the mozilla part of quickcheck was already broken when using the lastest repo content so I had to run without that modified: src/compiler/ppc/code-generator-ppc.cc modified: src/compiler/ppc/instruction-codes-ppc.h modified: src/compiler/ppc/instruction-selector-ppc.cc modified: src/ic/ppc/handler-compiler-ppc.cc modified: src/ic/ppc/ic-compiler-ppc.cc modified: src/ppc/assembler-ppc-inl.h 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/codegen-ppc.cc modified: src/ppc/full-codegen-ppc.cc modified: src/ppc/lithium-codegen-ppc.cc modified: src/ppc/macro-assembler-ppc.cc modified: src/ppc/macro-assembler-ppc.h modified: test/cctest/cctest.status R=danno@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/994533004 Cr-Commit-Position: refs/heads/master@{#27125}
-
- 05 Feb, 2015 1 commit
-
-
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}
-