Index: src/ia32/simulator-ia32.h |
diff --git a/src/ia32/simulator-ia32.h b/src/ia32/simulator-ia32.h |
index 88d0b6187f1452f991fd41fb0d44708acfcf03a6..43b7ea3b0cc907a8e0abf9c9ca04d4e391aaab8d 100644 |
--- a/src/ia32/simulator-ia32.h |
+++ b/src/ia32/simulator-ia32.h |
@@ -38,10 +38,15 @@ namespace internal { |
#define CALL_GENERATED_CODE(entry, p0, p1, p2, p3, p4) \ |
(entry(p0, p1, p2, p3, p4)) |
-// Call the generated regexp code directly. The entry function pointer should |
+ |
+typedef int (*regexp_matcher)(String*, int, const byte*, |
+ const byte*, int*, Address, int); |
+ |
+// Call the generated regexp code directly. The code at the entry address should |
// expect seven int/pointer sized arguments and return an int. |
#define CALL_GENERATED_REGEXP_CODE(entry, p0, p1, p2, p3, p4, p5, p6) \ |
- (entry(p0, p1, p2, p3, p4, p5, p6)) |
+ (FUNCTION_CAST<regexp_matcher>(entry)(p0, p1, p2, p3, p4, p5, p6)) |
+ |
#define TRY_CATCH_FROM_ADDRESS(try_catch_address) \ |
(reinterpret_cast<TryCatch*>(try_catch_address)) |