Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(606)

Unified Diff: runtime/vm/os_linux.cc

Issue 12041056: Initial revision of ARM simulator and (empty) MIPS simulator. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/os_linux.cc
===================================================================
--- runtime/vm/os_linux.cc (revision 17504)
+++ runtime/vm/os_linux.cc (working copy)
@@ -310,6 +310,19 @@
}
+void OS::DebugBreak() {
+#if defined(HOST_ARCH_X64) || defined(HOST_ARCH_IA32)
+ asm("int $3");
+#elif defined(HOST_ARCH_ARM)
+ asm("svc #0x9f0001"); // __ARM_NR_breakpoint
+#elif defined(HOST_ARCH_MIPS)
+ UNIMPLEMENTED();
+#else
+#error Unsupported architecture.
+#endif
siva 2013/01/24 02:03:09 As discussed offline we have moved away from using
Kevin Millikin (Google) 2013/01/24 08:26:36 It's pretty minor, but it's nice to have because g
Ivan Posva 2013/01/24 18:25:57 Since this is in a OS specific file we can add the
regis 2013/01/24 21:47:48 As Kevin, I think that DebugBreak() is nice to hav
+}
+
+
void OS::Print(const char* format, ...) {
va_list args;
va_start(args, format);
@@ -385,6 +398,10 @@
}
+// Cache the null page size.
+uword OS::null_page_size_ = 0;
+
+
void OS::InitOnce() {
// TODO(5411554): For now we check that initonce is called only once,
// Once there is more formal mechanism to call InitOnce we can move
@@ -392,6 +409,9 @@
static bool init_once_called = false;
ASSERT(init_once_called == false);
init_once_called = true;
+
+ // Initialize the null page size.
+ null_page_size_ = static_cast<uword>(getpagesize());
}

Powered by Google App Engine
This is Rietveld 408576698