RFR(L) 8026844: Various Math functions needs intrinsification

Christian Thalinger christian.thalinger at oracle.com
Fri Oct 18 12:04:14 PDT 2013


src/share/vm/opto/library_call.cpp:

+   Node* arg1 = argument(0); // type long
+   // argument(1) == TOP
+   Node* arg2 = argument(2); // type long
+   // argument(4) == TOP

The "argument(4)" comment it wrong; should be 3.

+   Node* add = _gvn.transform( new(C) AddExactLNode(NULL, arg1, arg2) );

Remove the extra spaces.

src/share/vm/opto/mathexactnode.hpp:

+   MathExactNode(Node* ctrl, Node* n1);
    MathExactNode(Node* ctrl, Node* in1, Node* in2);

Should "n1" be "in1"?  Or maybe just "n".

These have two copyright headers:

test/compiler/intrinsics/mathexact/IncExactITest.java
test/compiler/intrinsics/mathexact/IncExactLTest.java

It seems all of the tests have a wrong bug number:

  26  * @bug 8024924

or

  26  * @bug 8025657

test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java:

  28  * @compile MulExactIRepeatTest.java

That one doesn't compile Verify.java.  Please check all of the test files for these issue.

In some test files you have timeouts.  Will there be a timeout problem on slower embedded platforms?

The question is do we really need individual test files for these?  I don't object just mentioning it.

On Oct 18, 2013, at 2:34 AM, Rickard Bäckman <rickard.backman at oracle.com> wrote:

> Hi, can I get reviews for the following change:
> 
> This change creates intrinsics for addExact(long, long), subtractExact,
> negateExact, incrementExact, decrementExact and multiplyExact.
> 
> The intrinsics are only added on x86 and only 64-bit has the intrinsics
> for the long-versions. (32-bit only has int-versions).
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8026844
> Webrev: http://cr.openjdk.java.net/~rbackman/8026844/
> 
> Thanks
> /R



More information about the hotspot-compiler-dev mailing list