Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: patcher.c 8216 2007-07-19 13:51:21Z michi $
-
*/
#include "config.h"
#include <assert.h>
+#include <stdint.h>
#include "vm/types.h"
/* patch the field value's address */
- *((ptrint *) datap) = (ptrint) &(fi->value);
+ *((intptr_t *) datap) = (intptr_t) fi->value;
/* synchronize data cache */
disp = *((u4 *) (ra + 0 * 4));
if (disp == 4) {
+ *((u4 *) (ra + 0 * 4)) &= 0xffff0000;
*((u4 *) (ra + 0 * 4)) |= (s2) ((fi->offset + 4) & 0x0000ffff);
*((u4 *) (ra + 1 * 4)) |= (s2) ((fi->offset + 0) & 0x0000ffff);
}
else {
*((u4 *) (ra + 0 * 4)) |= (s2) ((fi->offset + 0) & 0x0000ffff);
+ *((u4 *) (ra + 1 * 4)) &= 0xffff0000;
*((u4 *) (ra + 1 * 4)) |= (s2) ((fi->offset + 4) & 0x0000ffff);
}
}