RFR: 8077615: AARCH64: Add C2 intrinsic for BigInteger::multiplyToLen() method

Andrew Haley aph at redhat.com
Tue Apr 14 10:10:56 UTC 2015


On 04/13/2015 08:12 PM, Vladimir Kozlov wrote:
> In the test you removed next line from previous test. Can you restore them?:
> 
>             System.out.println(b1);
>             System.out.println(b2);

Oops.  It was hard to see that in the diff.

> I have a little problem of mapping code from comments to assembler for 
> multiply_64_x_64_loop(). Extend comments.
> I think in next comments x_xstart should be used on left side instead of 
> 'product':

Yes.

> +  umulh(rscratch1, x_xstart, y_idx); // product * y_idx -> 
> rscratch1:product
> +  mul(product, x_xstart, y_idx);
> +  adds(product, product, carry);
> +  adc(carry, rscratch1, zr);   // product * y_idx + carry -> carry:product
> 
> Also why not use BytesPerLong instead of BytesPerWord?:

OK.

Also, I did a new merge and the port no longer built:

/local/aarch64/dev/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp:61:16: error: 'virtual void MacroAssembler::call_VM_leaf_base(address, int, Label&)' was hidden [-Werror=overloaded-virtual]
   VIRTUAL void call_VM_leaf_base(
                ^
This is a correct warning message, so I added a using directive to clarify
the intent.

http://cr.openjdk.java.net/~aph/8077615-1/

Andrew.


More information about the hotspot-dev mailing list