diff options
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index 2e6ee3d4445..9c7a3fa30cf 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -58,21 +58,21 @@ by Hallvard: | |||
| 58 | #ifdef BYTE_CODE_METER | 58 | #ifdef BYTE_CODE_METER |
| 59 | 59 | ||
| 60 | Lisp_Object Qbyte_code_meter; | 60 | Lisp_Object Qbyte_code_meter; |
| 61 | #define METER_2(code1, code2) \ | 61 | #define METER_2(code1, code2) AREF (AREF (Vbyte_code_meter, code1), code2) |
| 62 | XFASTINT (XVECTOR (XVECTOR (Vbyte_code_meter)->contents[(code1)]) \ | 62 | #define METER_1(code) METER_2 (0, code) |
| 63 | ->contents[(code2)]) | ||
| 64 | |||
| 65 | #define METER_1(code) METER_2 (0, (code)) | ||
| 66 | 63 | ||
| 67 | #define METER_CODE(last_code, this_code) \ | 64 | #define METER_CODE(last_code, this_code) \ |
| 68 | { \ | 65 | { \ |
| 69 | if (byte_metering_on) \ | 66 | if (byte_metering_on) \ |
| 70 | { \ | 67 | { \ |
| 71 | if (METER_1 (this_code) < MOST_POSITIVE_FIXNUM) \ | 68 | if (XFASTINT (METER_1 (this_code)) < MOST_POSITIVE_FIXNUM) \ |
| 72 | METER_1 (this_code)++; \ | 69 | XSETFASTINT (METER_1 (this_code), \ |
| 70 | XFASTINT (METER_1 (this_code)) + 1); \ | ||
| 73 | if (last_code \ | 71 | if (last_code \ |
| 74 | && METER_2 (last_code, this_code) < MOST_POSITIVE_FIXNUM) \ | 72 | && (XFASTINT (METER_2 (last_code, this_code)) \ |
| 75 | METER_2 (last_code, this_code)++; \ | 73 | < MOST_POSITIVE_FIXNUM)) \ |
| 74 | XSETFASTINT (METER_2 (last_code, this_code), \ | ||
| 75 | XFASTINT (METER_2 (last_code, this_code)) + 1); \ | ||
| 76 | } \ | 76 | } \ |
| 77 | } | 77 | } |
| 78 | 78 | ||