Chromium Code Reviews

Unified Diff: src/assembler.cc

Issue 422063005: Contribution of PowerPC port. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: src/assembler.cc
diff --git a/src/assembler.cc b/src/assembler.cc
index a98ff1e56a58bf94b0efd913d0cdb36f08a87e22..9a42bbaa67d1b2111f6e113fc59cad6823275603 100644
--- a/src/assembler.cc
+++ b/src/assembler.cc
@@ -64,6 +64,8 @@
#include "src/arm64/assembler-arm64-inl.h" // NOLINT
#elif V8_TARGET_ARCH_ARM
#include "src/arm/assembler-arm-inl.h" // NOLINT
+#elif V8_TARGET_ARCH_PPC
+#include "src/ppc/assembler-ppc-inl.h" // NOLINT
#elif V8_TARGET_ARCH_MIPS
#include "src/mips/assembler-mips-inl.h" // NOLINT
#elif V8_TARGET_ARCH_MIPS64
@@ -84,6 +86,8 @@
#include "src/arm64/regexp-macro-assembler-arm64.h" // NOLINT
#elif V8_TARGET_ARCH_ARM
#include "src/arm/regexp-macro-assembler-arm.h" // NOLINT
+#elif V8_TARGET_ARCH_PPC
+#include "src/ppc/regexp-macro-assembler-ppc.h" // NOLINT
#elif V8_TARGET_ARCH_MIPS
#include "src/mips/regexp-macro-assembler-mips.h" // NOLINT
#elif V8_TARGET_ARCH_MIPS64
@@ -985,12 +989,24 @@ ExternalReference::ExternalReference(Builtins::Name name, Isolate* isolate)
ExternalReference::ExternalReference(Runtime::FunctionId id,
Isolate* isolate)
+#if V8_TARGET_ARCH_PPC64
danno 2014/07/29 13:24:07 Again, why the #ifdef? It seems like on most platf
andrew_low 2014/07/30 13:27:04 This is related to running the simulator version o
+ : address_(Redirect(isolate, Runtime::FunctionForId(id)->entry,
+ (Runtime::FunctionForId(id)->result_size == 2) ?
+ BUILTIN_OBJECTPAIR_CALL : BUILTIN_CALL)) {}
+#else
: address_(Redirect(isolate, Runtime::FunctionForId(id)->entry)) {}
+#endif
ExternalReference::ExternalReference(const Runtime::Function* f,
Isolate* isolate)
+#if V8_TARGET_ARCH_PPC64
+ : address_(Redirect(isolate, f->entry,
+ ((f->result_size == 2) ?
+ BUILTIN_OBJECTPAIR_CALL : BUILTIN_CALL))) {}
+#else
: address_(Redirect(isolate, f->entry)) {}
+#endif
ExternalReference ExternalReference::isolate_address(Isolate* isolate) {
@@ -1342,6 +1358,8 @@ ExternalReference ExternalReference::re_check_stack_guard_state(
function = FUNCTION_ADDR(RegExpMacroAssemblerARM64::CheckStackGuardState);
#elif V8_TARGET_ARCH_ARM
function = FUNCTION_ADDR(RegExpMacroAssemblerARM::CheckStackGuardState);
+#elif V8_TARGET_ARCH_PPC
+ function = FUNCTION_ADDR(RegExpMacroAssemblerPPC::CheckStackGuardState);
#elif V8_TARGET_ARCH_MIPS
function = FUNCTION_ADDR(RegExpMacroAssemblerMIPS::CheckStackGuardState);
#elif V8_TARGET_ARCH_MIPS64

Powered by Google App Engine