< prev index next >

src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp

Print this page
8248238: Adding Windows support to OpenJDK on AArch64

Summary: LP64 vs LLP64 changes to add Windows support

Contributed-by: Monica Beckwith <monica.beckwith@microsoft.com>, Ludovic Henry <luhenry@microsoft.com>
Reviewed-by:

@@ -3281,12 +3281,12 @@
     FloatRegister vs2acc = v2;
     FloatRegister vtable = v3;
 
     // Max number of bytes we can process before having to take the mod
     // 0x15B0 is 5552 in decimal, the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1
-    unsigned long BASE = 0xfff1;
-    unsigned long NMAX = 0x15B0;
+    uint64_t BASE = 0xfff1;
+    uint64_t NMAX = 0x15B0;
 
     __ mov(base, BASE);
     __ mov(nmax, NMAX);
 
     // Load accumulation coefficients for the upper 16 bits

@@ -5379,16 +5379,16 @@
       return entry;
     }
     // In C, approximately:
 
     // void
-    // montgomery_multiply(unsigned long Pa_base[], unsigned long Pb_base[],
-    //                     unsigned long Pn_base[], unsigned long Pm_base[],
-    //                     unsigned long inv, int len) {
-    //   unsigned long t0 = 0, t1 = 0, t2 = 0; // Triple-precision accumulator
-    //   unsigned long *Pa, *Pb, *Pn, *Pm;
-    //   unsigned long Ra, Rb, Rn, Rm;
+    // montgomery_multiply(uint64_t Pa_base[], uint64_t Pb_base[],
+    //                     uint64_t Pn_base[], uint64_t Pm_base[],
+    //                     uint64_t inv, int len) {
+    //   uint64_t t0 = 0, t1 = 0, t2 = 0; // Triple-precision accumulator
+    //   uint64_t *Pa, *Pb, *Pn, *Pm;
+    //   uint64_t Ra, Rb, Rn, Rm;
 
     //   int i;
 
     //   assert(inv * Pn_base[0] == -1UL, "broken inverse in Montgomery multiply");
 

@@ -5592,15 +5592,15 @@
       return entry;
     }
     // In C, approximately:
 
     // void
-    // montgomery_square(unsigned long Pa_base[], unsigned long Pn_base[],
-    //                   unsigned long Pm_base[], unsigned long inv, int len) {
-    //   unsigned long t0 = 0, t1 = 0, t2 = 0; // Triple-precision accumulator
-    //   unsigned long *Pa, *Pb, *Pn, *Pm;
-    //   unsigned long Ra, Rb, Rn, Rm;
+    // montgomery_square(uint64_t Pa_base[], uint64_t Pn_base[],
+    //                   uint64_t Pm_base[], uint64_t inv, int len) {
+    //   uint64_t t0 = 0, t1 = 0, t2 = 0; // Triple-precision accumulator
+    //   uint64_t *Pa, *Pb, *Pn, *Pm;
+    //   uint64_t Ra, Rb, Rn, Rm;
 
     //   int i;
 
     //   assert(inv * Pn_base[0] == -1UL, "broken inverse in Montgomery multiply");
 
< prev index next >