[sockets] Fixed reading blocking flag
[mono.git] / mono / mini / mini-x86.h
index f2a95f793b7c17f86bf502e42d6ecd8b9c99b7c6..3063fc2cecae7bffbc927c5d7dba6198217ae0bc 100644 (file)
@@ -146,6 +146,11 @@ struct sigcontext {
 /*This is the max size of the locals area of a given frame. I think 1MB is a safe default for now*/
 #define MONO_ARCH_MAX_FRAME_SIZE 0x100000
 
+/*This is how much a try block must be extended when is is preceeded by a Monitor.Enter() call.
+It's 4 bytes as this is how many bytes + 1 that 'add 0x10, %esp' takes. It is used to pop the arguments from
+the monitor.enter call and must be already protected.*/
+#define MONO_ARCH_MONITOR_ENTER_ADJUSTMENT 4
+
 struct MonoLMF {
        /* 
         * If the lowest bit is set to 1, then this is a trampoline LMF frame.
@@ -250,15 +255,6 @@ typedef struct {
 
 #define MONO_ARCH_INIT_TOP_LMF_ENTRY(lmf) do { (lmf)->ebp = -1; } while (0)
 
-/*
- * This structure is an extension of MonoLMF and contains extra information.
- */
-typedef struct {
-       struct MonoLMF lmf;
-       gboolean debugger_invoke;
-       MonoContext ctx; /* if debugger_invoke is TRUE */
-} MonoLMFExt;
-
 /* Enables OP_LSHL, OP_LSHL_IMM, OP_LSHR, OP_LSHR_IMM, OP_LSHR_UN, OP_LSHR_UN_IMM */
 #define MONO_ARCH_NO_EMULATE_LONG_SHIFT_OPS
 
@@ -320,6 +316,7 @@ typedef struct {
 #define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD 1
 
 #define MONO_ARCH_HAVE_CARD_TABLE_WBARRIER 1
+#define MONO_ARCH_GC_MAPS_SUPPORTED 1
 
 gboolean
 mono_x86_tail_call_supported (MonoMethodSignature *caller_sig, MonoMethodSignature *callee_sig) MONO_INTERNAL;