< prev index next >

src/hotspot/cpu/arm/templateTable_arm.cpp

Print this page

        

@@ -1608,12 +1608,14 @@
   transition(ftos, ftos);
 #ifdef __SOFTFP__
   __ mov(R1, R0_tos);
   __ pop_i(R0);
   switch (op) {
-    case add: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fadd_glibc), R0, R1); break;
-    case sub: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fsub_glibc), R0, R1); break;
+    // __aeabi_XXXX_extlib: Optional wrapper around SoftFloat-3e
+    // for calculation accuracy improvement. See CR 6757269, JDK-8215902.
+    case add: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fadd_extlib), R0, R1); break;
+    case sub: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fsub_extlib), R0, R1); break;
     case mul: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fmul), R0, R1); break;
     case div: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fdiv), R0, R1); break;
     case rem: __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::frem), R0, R1); break;
     default : ShouldNotReachHere();
   }

@@ -1650,13 +1652,14 @@
 #ifdef __SOFTFP__
   __ mov(R2, R0_tos_lo);
   __ mov(R3, R1_tos_hi);
   __ pop_l(R0, R1);
   switch (op) {
-    // __aeabi_XXXX_glibc: Imported code from glibc soft-fp bundle for calculation accuracy improvement. See CR 6757269.
-    case add: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dadd_glibc), R0, R1, R2, R3); break;
-    case sub: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dsub_glibc), R0, R1, R2, R3); break;
+    // __aeabi_XXXX_extlib: Optional wrapper around SoftFloat-3e
+    // for calculation accuracy improvement. See CR 6757269, JDK-8215902.
+    case add: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dadd_extlib), R0, R1, R2, R3); break;
+    case sub: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dsub_extlib), R0, R1, R2, R3); break;
     case mul: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dmul), R0, R1, R2, R3); break;
     case div: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_ddiv), R0, R1, R2, R3); break;
     case rem: __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::drem), R0, R1, R2, R3); break;
     default : ShouldNotReachHere();
   }
< prev index next >