merged volatile memory barriers
[cacao.git] / src / vm / jit / sparc64 / arch.h
index 0708fc2d0256fa9cdbbc83efa6916d6a3e4953e9..0197ab4fe0c4e20d4cb9f0014279daf78d7f9d57 100644 (file)
@@ -22,8 +22,6 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: arch.h 5081 2006-07-06 13:59:01Z tbfg $
-
 */
 
 
 
 /* define architecture features ***********************************************/
 
-#define U8_AVAILABLE                     1
-
-/*  #define USEBUILTINTABLE */
-
-#define SUPPORT_DIVISION                 0
+#define SUPPORT_DIVISION                 1
 #define SUPPORT_LONG                     1
 
 #define SUPPORT_I2F                      1
 #define SUPPORT_L2F                      1
 #define SUPPORT_L2D                      1
 
-#define SUPPORT_F2I                      0
-#define SUPPORT_F2L                      0
-#define SUPPORT_D2I                      0
-#define SUPPORT_D2L                      0
+#define SUPPORT_F2I                      1
+#define SUPPORT_F2L                      1
+#define SUPPORT_D2I                      1
+#define SUPPORT_D2L                      1
 
 #define SUPPORT_LONG_ADD                 1
 #define SUPPORT_LONG_CMP                 1
@@ -58,7 +52,7 @@
 #define SUPPORT_LONG_LOGICAL             1
 #define SUPPORT_LONG_SHIFT               1
 #define SUPPORT_LONG_MUL                 1
-#define SUPPORT_LONG_DIV                 0
+#define SUPPORT_LONG_DIV                 1
 
 #define SUPPORT_CONST_LOGICAL            1  /* AND, OR, XOR with immediates   */
 #define SUPPORT_CONST_MUL                1  /* mutiply with immediate         */
 #endif
 
 
+/* branches *******************************************************************/
+
+#define SUPPORT_BRANCH_CONDITIONAL_CONDITION_REGISTER       1
+#define SUPPORT_BRANCH_CONDITIONAL_ONE_INTEGER_REGISTER     1
+#define SUPPORT_BRANCH_CONDITIONAL_TWO_INTEGER_REGISTERS    0
+#define SUPPORT_BRANCH_CONDITIONAL_UNSIGNED_CONDITIONS      1
+
+
 /* exceptions *****************************************************************/
 
 #define SUPPORT_HARDWARE_DIVIDE_BY_ZERO  0
 
 
+/* stackframe *****************************************************************/
+
+#error Set the values below correctly!!!
+#define STACKFRMAE_RA_BETWEEN_FRAMES              0
+#define STACKFRAME_RA_TOP_OF_FRAME                0
+#define STACKFRAME_RA_LINKAGE_AREA                0
+#define STACKFRAME_LEAFMETHODS_RA_REGISTER        0
+#define STACKFRAME_SYNC_NEEDS_TWO_SLOTS           0
+
+
 /* replacement ****************************************************************/
 
 #define REPLACEMENT_PATCH_SIZE           4 /* bytes */
-#define REPLACEMENT_STUB_SIZE            5 /* words */ /* XXX adapt for sparc64 */
 
 #endif /* _ARCH_H */