Quan Anh Mai
Quan Anh Mai
Improve the implementation of `Double/Float.isInfinite` to reduce branching. Using `>` comparison with `MAX_VALUE` instead of `==` with `POSITIVE_INFINITY` improves code emission on x86 and produces similar code for arm. This...
This patch modifies the node generation of `VectorSupport::test` to emit a `CMoveINode`, which is picked up by `BoolNode::Ideal(PhaseGVN*, bool)` to connect the `VectorTestNode` directly to the `BoolNode`, removing the redundant...
Hi, This patch simplifies and improves the code generation of `MulVB` and `MulVL` nodes, - MulVB can be implemented by alternating `vmullw` on odd and even-index elements and combining the...
My attempt at this challenge, `test.sh merykitty` passed. Please kindly review, thanks very much.
I'm getting competitive so this is another iteration. Since we are not bounded by loads, change the algorithm to have 1 vector for each line, this simplifies the following calculations...
#### Check List: - [x] Tests pass (`./test.sh ` shows no differences between expected and actual outputs) - [x] All formatting changes by the build are committed - [ ]...
This patch implements idealisation for unsigned divisions to change a division by a constant into a series of multiplication and shift. I also change the idealisation of `DivI` to get...
Hi, This patch adds unsigned bounds and known bits constraints to TypeInt and TypeLong. This opens more transformation opportunities in an elegant manner as well as helps avoid some ad-hoc...
Hi, This small patch refactors array constants in C2 to use an array of `jbyte`s instead of an array of `jvalue`. The former is much easier to work with and...
Hi, As a step of #1405, I would like to remove the usage of larval value objects in `Unsafe` intrinsics. This patch also tries to make sure that `Unsafe::makePrivateBuffer` and...