| 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
|
|
|
|
|