Index: src/x64/simulator-x64.h |
=================================================================== |
--- src/x64/simulator-x64.h (revision 1881) |
+++ src/x64/simulator-x64.h (working copy) |
@@ -25,3 +25,23 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+#ifndef V8_X64_SIMULATOR_X64_H_ |
+#define V8_X64_SIMULATOR_X64_H_ |
+ |
+ |
+// Since there is no simulator for the ia32 architecture the only thing we can |
+// do is to call the entry directly. |
+#define CALL_GENERATED_CODE(entry, p0, p1, p2, p3, p4) \ |
+ entry(p0, p1, p2, p3, p4); |
+ |
+// Calculated the stack limit beyond which we will throw stack overflow errors. |
+// This macro must be called from a C++ method. It relies on being able to take |
+// the address of "this" to get a value on the current execution stack and then |
+// calculates the stack limit based on that value. |
+// NOTE: The check for overflow is not safe as there is no guarantee that the |
+// running thread has its stack in all memory up to address 0x00000000. |
+#define GENERATED_CODE_STACK_LIMIT(limit) \ |
+ (reinterpret_cast<uintptr_t>(this) >= limit ? \ |
+ reinterpret_cast<uintptr_t>(this) - limit : 0) |
+ |
+#endif // V8_X64_SIMULATOR_X64_H_ |