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

Unified Diff: runtime/vm/os_thread_linux.cc

Issue 2680123004: VM: Teach GetAndValidateIsolateStackBounds(...) to fallback to OS thread stack bounds. (Closed)
Patch Set: Done Created 3 years, 10 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_thread_linux.cc
diff --git a/runtime/vm/os_thread_linux.cc b/runtime/vm/os_thread_linux.cc
index 438fb170a978673c4d38338c29a89f703cfb1490..11ce10931893da111c8ab68434454b2990ae3da0 100644
--- a/runtime/vm/os_thread_linux.cc
+++ b/runtime/vm/os_thread_linux.cc
@@ -234,6 +234,26 @@ bool OSThread::Compare(ThreadId a, ThreadId b) {
}
+bool OSThread::GetCurrentStackBounds(uword* lower, uword* upper) {
+ pthread_attr_t attr;
+ if (pthread_getattr_np(pthread_self(), &attr)) {
+ return false;
+ }
+
+ void* base;
+ size_t size;
+ int error = pthread_attr_getstack(&attr, &base, &size);
+ pthread_attr_destroy(&attr);
+ if (error) {
+ return false;
+ }
+
+ *lower = reinterpret_cast<uword>(base);
+ *upper = *lower + size;
+ return true;
+}
+
+
Mutex::Mutex() {
pthread_mutexattr_t attr;
int result = pthread_mutexattr_init(&attr);

Powered by Google App Engine
This is Rietveld 408576698