Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 8448e557f240ac496e4e0962e8489dfdec3ab012..ab56f3424eb32fa876314e0b44aaff9112e64ef2 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -111,6 +111,16 @@ namespace internal { |
#define CODE_STUB_LIST_ARM64(V) |
#endif |
+// List of code stubs only used on PPC platforms. |
+#ifdef V8_TARGET_ARCH_PPC |
+#define CODE_STUB_LIST_PPC(V) \ |
+ V(DirectCEntry) \ |
+ V(StoreRegistersState) \ |
+ V(RestoreRegistersState) |
+#else |
+#define CODE_STUB_LIST_PPC(V) |
+#endif |
+ |
// List of code stubs only used on MIPS platforms. |
#if V8_TARGET_ARCH_MIPS |
#define CODE_STUB_LIST_MIPS(V) \ |
@@ -127,10 +137,11 @@ namespace internal { |
#endif |
// Combined list of code stubs. |
-#define CODE_STUB_LIST(V) \ |
- CODE_STUB_LIST_ALL_PLATFORMS(V) \ |
- CODE_STUB_LIST_ARM(V) \ |
- CODE_STUB_LIST_ARM64(V) \ |
+#define CODE_STUB_LIST(V) \ |
+ CODE_STUB_LIST_ALL_PLATFORMS(V) \ |
+ CODE_STUB_LIST_ARM(V) \ |
+ CODE_STUB_LIST_ARM64(V) \ |
+ CODE_STUB_LIST_PPC(V) \ |
CODE_STUB_LIST_MIPS(V) |
// Stub is base classes of all stubs. |
@@ -504,6 +515,8 @@ class RuntimeCallHelper { |
#include "src/arm64/code-stubs-arm64.h" |
#elif V8_TARGET_ARCH_ARM |
#include "src/arm/code-stubs-arm.h" |
+#elif V8_TARGET_ARCH_PPC |
+#include "src/ppc/code-stubs-ppc.h" |
#elif V8_TARGET_ARCH_MIPS |
#include "src/mips/code-stubs-mips.h" |
#elif V8_TARGET_ARCH_MIPS64 |
@@ -1460,7 +1473,7 @@ class CEntryStub : public PlatformCodeStub { |
: PlatformCodeStub(isolate) { |
minor_key_ = SaveDoublesBits::encode(save_doubles == kSaveFPRegs); |
DCHECK(result_size == 1 || result_size == 2); |
-#ifdef _WIN64 |
+#if _WIN64 || (V8_TARGET_ARCH_PPC64 && !ABI_RETURNS_OBJECT_PAIRS_IN_REGS) |
minor_key_ = ResultSizeBits::update(minor_key_, result_size); |
#endif // _WIN64 |
} |
@@ -1473,7 +1486,7 @@ class CEntryStub : public PlatformCodeStub { |
private: |
bool save_doubles() const { return SaveDoublesBits::decode(minor_key_); } |
-#ifdef _WIN64 |
+#if _WIN64 || (V8_TARGET_ARCH_PPC64 && !ABI_RETURNS_OBJECT_PAIRS_IN_REGS) |
int result_size() const { return ResultSizeBits::decode(minor_key_); } |
#endif // _WIN64 |