| Index: src/arm/simulator-arm.h
|
| ===================================================================
|
| --- src/arm/simulator-arm.h (revision 7031)
|
| +++ src/arm/simulator-arm.h (working copy)
|
| @@ -48,10 +48,17 @@
|
| #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
|
| -// expect eight int/pointer sized arguments and return an int.
|
| +typedef int (*arm_regexp_matcher)(String*, int, const byte*, const byte*,
|
| + void*, int*, Address, int);
|
| +
|
| +
|
| +// Call the generated regexp code directly. The code at the entry address
|
| +// should act as a function matching the type arm_regexp_matcher.
|
| +// The fifth argument is a dummy that reserves the space used for
|
| +// the return address added by the ExitFrame in native calls.
|
| #define CALL_GENERATED_REGEXP_CODE(entry, p0, p1, p2, p3, p4, p5, p6, p7) \
|
| - entry(p0, p1, p2, p3, p4, p5, p6, p7)
|
| + (FUNCTION_CAST<arm_regexp_matcher>(entry)( \
|
| + p0, p1, p2, p3, NULL, p4, p5, p6, p7))
|
|
|
| #define TRY_CATCH_FROM_ADDRESS(try_catch_address) \
|
| reinterpret_cast<TryCatch*>(try_catch_address)
|
| @@ -364,7 +371,7 @@
|
|
|
| #define CALL_GENERATED_REGEXP_CODE(entry, p0, p1, p2, p3, p4, p5, p6, p7) \
|
| Simulator::current(Isolate::Current())->Call( \
|
| - FUNCTION_ADDR(entry), 8, p0, p1, p2, p3, p4, p5, p6, p7)
|
| + entry, 9, p0, p1, p2, p3, NULL, p4, p5, p6, p7)
|
|
|
| #define TRY_CATCH_FROM_ADDRESS(try_catch_address) \
|
| try_catch_address == NULL ? \
|
|
|