Index: test/cctest/test-parsing.cc |
diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc |
index 47f5e6abecef02c5ae37e43f3249c61e781570be..b12098a85a19e5352471686389ca8387a1789031 100644 |
--- a/test/cctest/test-parsing.cc |
+++ b/test/cctest/test-parsing.cc |
@@ -143,9 +143,8 @@ TEST(ScanHTMLEndComments) { |
}; |
// Parser/Scanner needs a stack limit. |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
uintptr_t stack_limit = CcTest::i_isolate()->stack_guard()->real_climit(); |
for (int i = 0; tests[i]; i++) { |
const i::byte* source = |
@@ -199,9 +198,8 @@ TEST(UsingCachedData) { |
v8::HandleScope handles(isolate); |
v8::Local<v8::Context> context = v8::Context::New(isolate); |
v8::Context::Scope context_scope(context); |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
// Source containing functions that might be lazily compiled and all types |
// of symbols (string, propertyName, regexp). |
@@ -247,9 +245,8 @@ TEST(PreparseFunctionDataIsUsed) { |
v8::HandleScope handles(isolate); |
v8::Local<v8::Context> context = v8::Context::New(isolate); |
v8::Context::Scope context_scope(context); |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
const char* good_code = |
"function this_is_lazy() { var a; } function foo() { return 25; } foo();"; |
@@ -282,9 +279,8 @@ TEST(PreparseFunctionDataIsUsed) { |
TEST(StandAlonePreParser) { |
v8::V8::Initialize(); |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
const char* programs[] = { |
"{label: 42}", |
@@ -319,9 +315,8 @@ TEST(StandAlonePreParser) { |
TEST(StandAlonePreParserNoNatives) { |
v8::V8::Initialize(); |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
const char* programs[] = { |
"%ArgleBargle(glop);", |
@@ -358,9 +353,8 @@ TEST(PreparsingObjectLiterals) { |
v8::HandleScope handles(isolate); |
v8::Local<v8::Context> context = v8::Context::New(isolate); |
v8::Context::Scope context_scope(context); |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
{ |
const char* source = "var myo = {if: \"foo\"}; myo.if;"; |
@@ -392,9 +386,7 @@ TEST(RegressChromium62639) { |
v8::V8::Initialize(); |
i::Isolate* isolate = CcTest::i_isolate(); |
- int marker; |
- isolate->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ isolate->stack_guard()->SetStackLimit(GetCurrentStackPosition() - 128 * 1024); |
const char* program = "var x = 'something';\n" |
"escape: function() {}"; |
@@ -429,9 +421,7 @@ TEST(Regress928) { |
// as with-content, which made it assume that a function inside |
// the block could be lazily compiled, and an extra, unexpected, |
// entry was added to the data. |
- int marker; |
- isolate->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ isolate->stack_guard()->SetStackLimit(GetCurrentStackPosition() - 128 * 1024); |
const char* program = |
"try { } catch (e) { var foo = function () { /* first */ } }" |
@@ -473,9 +463,8 @@ TEST(Regress928) { |
TEST(PreParseOverflow) { |
v8::V8::Initialize(); |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
size_t kProgramSize = 1024 * 1024; |
i::SmartArrayPointer<char> program(i::NewArray<char>(kProgramSize + 1)); |
@@ -1097,9 +1086,7 @@ TEST(ScopePositions) { |
v8::Handle<v8::Context> context = v8::Context::New(CcTest::isolate()); |
v8::Context::Scope context_scope(context); |
- int marker; |
- isolate->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ isolate->stack_guard()->SetStackLimit(GetCurrentStackPosition() - 128 * 1024); |
for (int i = 0; source_data[i].outer_prefix; i++) { |
int kPrefixLen = Utf8LengthHelper(source_data[i].outer_prefix); |
@@ -1400,9 +1387,8 @@ TEST(ParserSync) { |
v8::Handle<v8::Context> context = v8::Context::New(CcTest::isolate()); |
v8::Context::Scope context_scope(context); |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
static const ParserFlag flags1[] = { |
kAllowLazy, kAllowHarmonyScoping, kAllowModules, kAllowGenerators, |
@@ -1478,9 +1464,8 @@ void RunParserSyncTest(const char* context_data[][2], |
v8::Handle<v8::Context> context = v8::Context::New(CcTest::isolate()); |
v8::Context::Scope context_scope(context); |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
static const ParserFlag default_flags[] = { |
kAllowLazy, kAllowHarmonyScoping, kAllowModules, kAllowGenerators, |
@@ -2153,9 +2138,8 @@ TEST(DontRegressPreParserDataSizes) { |
v8::Isolate* isolate = CcTest::isolate(); |
v8::HandleScope handles(isolate); |
- int marker; |
- CcTest::i_isolate()->stack_guard()->SetStackLimit( |
- reinterpret_cast<uintptr_t>(&marker) - 128 * 1024); |
+ CcTest::i_isolate()->stack_guard()->SetStackLimit(GetCurrentStackPosition() - |
+ 128 * 1024); |
struct TestCase { |
const char* program; |