Reviewers: Kasper Lund,

Description:
Allow forcing the use of a simulator from the build script
independently of the host architecture.

Fix build issue for the mips simulator.  The mips simulator does not
currently work, but at least this change does not make it worse.


Please review this at http://codereview.chromium.org/4090003/show

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/globals.h
  M     src/top.cc


Index: src/globals.h
===================================================================
--- src/globals.h       (revision 5700)
+++ src/globals.h       (working copy)
@@ -94,12 +94,16 @@
 #endif

 // Determine whether we are running in a simulated environment.
+// Setting USE_SIMULATOR explicitly from the build script will force
+// the use of a simulated environment.
+#if !defined(USE_SIMULATOR)
 #if (defined(V8_TARGET_ARCH_ARM) && !defined(V8_HOST_ARCH_ARM))
 #define USE_SIMULATOR 1
 #endif
 #if (defined(V8_TARGET_ARCH_MIPS) && !defined(V8_HOST_ARCH_MIPS))
 #define USE_SIMULATOR 1
 #endif
+#endif

 // Define unaligned read for the target architectures supporting it.
 #if defined(V8_TARGET_ARCH_X64) || defined(V8_TARGET_ARCH_IA32)
Index: src/top.cc
===================================================================
--- src/top.cc  (revision 5700)
+++ src/top.cc  (working copy)
@@ -67,8 +67,12 @@
   c_entry_fp_ = 0;
   handler_ = 0;
 #ifdef USE_SIMULATOR
+#ifdef V8_TARGET_ARCH_ARM
   simulator_ = assembler::arm::Simulator::current();
-#endif  // USE_SIMULATOR
+#elif V8_TARGET_ARCH_MIPS
+  simulator_ = assembler::mips::Simulator::current();
+#endif
+#endif
 #ifdef ENABLE_LOGGING_AND_PROFILING
   js_entry_sp_ = 0;
 #endif
@@ -1066,8 +1070,12 @@
   // This might be just paranoia, but it seems to be needed in case a
   // thread_local_ is restored on a separate OS thread.
 #ifdef USE_SIMULATOR
+#ifdef V8_TARGET_ARCH_ARM
   thread_local_.simulator_ = assembler::arm::Simulator::current();
+#elif V8_TARGET_ARCH_MIPS
+  thread_local_.simulator_ = assembler::mips::Simulator::current();
 #endif
+#endif
   return from + sizeof(thread_local_);
 }



--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to