Unbreak GC some more.

This commit is contained in:
Josh Matthews 2013-04-15 08:45:25 +02:00
parent 6fbf40988f
commit 71df18a839
2 changed files with 13 additions and 8 deletions

@ -1 +1 @@
Subproject commit 19a4939e13f2387cb7831623480d91301092c202 Subproject commit bfe6b9544ff0df852bdca16a68770b9381e5f35c

View file

@ -1,5 +1,5 @@
diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp
index 5571fc0..df2fabd 100644 index 5571fc0..7e1e30d 100644
--- a/js/src/jsapi.cpp --- a/js/src/jsapi.cpp
+++ b/js/src/jsapi.cpp +++ b/js/src/jsapi.cpp
@@ -735,6 +735,7 @@ JSRuntime::JSRuntime() @@ -735,6 +735,7 @@ JSRuntime::JSRuntime()
@ -10,22 +10,27 @@ index 5571fc0..df2fabd 100644
nativeStackQuota(0), nativeStackQuota(0),
interpreterFrames(NULL), interpreterFrames(NULL),
cxCallback(NULL), cxCallback(NULL),
@@ -7084,6 +7085,13 @@ JS_SetRuntimeThread(JSRuntime *rt) @@ -7084,6 +7085,18 @@ JS_SetRuntimeThread(JSRuntime *rt)
#endif #endif
} }
+extern JS_PUBLIC_API(void) +extern JS_PUBLIC_API(void)
+JS_SetNativeStackBounds(JSRuntime *rt, uintptr_t stackBase, uintptr_t stackEnd) +JS_SetNativeStackBounds(JSRuntime *rt, uintptr_t minValue, uintptr_t maxValue)
+{ +{
+ rt->nativeStackBase = stackBase; +#if JS_STACK_GROWTH_DIRECTION < 0
+ rt->nativeStackEnd = stackEnd; + rt->nativeStackBase = maxValue;
+ rt->nativeStackEnd = minValue;
+#else
+ rt->nativeStackBase = minValue;
+ rt->nativeStackEnd = maxValue;
+#endif
+} +}
+ +
extern JS_NEVER_INLINE JS_PUBLIC_API(void) extern JS_NEVER_INLINE JS_PUBLIC_API(void)
JS_AbortIfWrongThread(JSRuntime *rt) JS_AbortIfWrongThread(JSRuntime *rt)
{ {
diff --git a/js/src/jsapi.h b/js/src/jsapi.h diff --git a/js/src/jsapi.h b/js/src/jsapi.h
index c8ab0f0..0edb722 100644 index c8ab0f0..9ac582e 100644
--- a/js/src/jsapi.h --- a/js/src/jsapi.h
+++ b/js/src/jsapi.h +++ b/js/src/jsapi.h
@@ -6248,6 +6248,9 @@ JS_ClearRuntimeThread(JSRuntime *rt); @@ -6248,6 +6248,9 @@ JS_ClearRuntimeThread(JSRuntime *rt);
@ -33,7 +38,7 @@ index c8ab0f0..0edb722 100644
JS_SetRuntimeThread(JSRuntime *rt); JS_SetRuntimeThread(JSRuntime *rt);
+extern JS_PUBLIC_API(void) +extern JS_PUBLIC_API(void)
+JS_SetNativeStackBounds(JSRuntime *rt, uintptr_t stackBase, uintptr_t stackEnd); +JS_SetNativeStackBounds(JSRuntime *rt, uintptr_t minValue, uintptr_t maxValue);
+ +
#ifdef __cplusplus #ifdef __cplusplus
JS_END_EXTERN_C JS_END_EXTERN_C