Index: src/globals.h |
diff --git a/src/globals.h b/src/globals.h |
index 0e30a9468890cbca262bb992a4e5fddf2bba0fa2..702860737f44f59b9cb109ffe39bb30b5012a23a 100644 |
--- a/src/globals.h |
+++ b/src/globals.h |
@@ -217,6 +217,20 @@ F FUNCTION_CAST(Address addr) { |
} |
+// Determine whether the architecture uses function descriptors |
+// which provide a level of indirection between the function pointer |
+// and the function entrypoint. |
+#if V8_HOST_ARCH_PPC && \ |
+ (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN)) |
+#define USES_FUNCTION_DESCRIPTORS 1 |
+#define FUNCTION_ENTRYPOINT_ADDRESS(f) \ |
+ (reinterpret_cast<v8::internal::Address*>( \ |
+ &(reinterpret_cast<intptr_t*>(f)[0]))) |
+#else |
+#define USES_FUNCTION_DESCRIPTORS 0 |
+#endif |
+ |
+ |
// ----------------------------------------------------------------------------- |
// Forward declarations for frequently used classes |
// (sorted alphabetically) |