907 mov(L4, G4); // restore G4 |
907 mov(L4, G4); // restore G4 |
908 mov(L5, G5_method); // restore G5_method |
908 mov(L5, G5_method); // restore G5_method |
909 #if defined(COMPILER2) && !defined(_LP64) |
909 #if defined(COMPILER2) && !defined(_LP64) |
910 // Save & restore possible 64-bit Long arguments in G-regs |
910 // Save & restore possible 64-bit Long arguments in G-regs |
911 sllx(L0,32,G2); // Move old high G1 bits high in G2 |
911 sllx(L0,32,G2); // Move old high G1 bits high in G2 |
912 sllx(G1, 0,G1); // Clear current high G1 bits |
912 srl(G1, 0,G1); // Clear current high G1 bits |
913 or3 (G1,G2,G1); // Recover 64-bit G1 |
913 or3 (G1,G2,G1); // Recover 64-bit G1 |
914 sllx(L6,32,G2); // Move old high G4 bits high in G2 |
914 sllx(L6,32,G2); // Move old high G4 bits high in G2 |
915 sllx(G4, 0,G4); // Clear current high G4 bits |
915 srl(G4, 0,G4); // Clear current high G4 bits |
916 or3 (G4,G2,G4); // Recover 64-bit G4 |
916 or3 (G4,G2,G4); // Recover 64-bit G4 |
917 #endif |
917 #endif |
918 restore(O0, 0, G2_thread); |
918 restore(O0, 0, G2_thread); |
919 } |
919 } |
920 } |
920 } |