Index: test/cctest/test-assembler-arm.cc |
=================================================================== |
--- test/cctest/test-assembler-arm.cc (revision 15689) |
+++ test/cctest/test-assembler-arm.cc (working copy) |
@@ -1409,4 +1409,25 @@ |
CHECK_EQ(0x11121313, t.dst4); |
} |
+ |
+TEST(17) { |
+ // Test generating labels at high addresses. |
+ // Should not assert. |
+ CcTest::InitializeVM(); |
+ Isolate* isolate = Isolate::Current(); |
+ HandleScope scope(isolate); |
+ |
+ // Generate a code segment that will be longer than 2^24 bytes. |
+ Assembler assm(isolate, NULL, 0); |
+ for (size_t i = 0; i < 8388608; ++i) { // 2^23 |
Benedikt Meurer
2013/07/31 11:35:55
nit: use 1 << 23 instead of 8388608.
Kimmo Kinnunen
2013/08/01 06:06:53
Done.
|
+ __ nop(); |
+ } |
+ |
+ Label target; |
+ __ b(eq, &target); |
+ __ bind(&target); |
+ __ nop(); |
+} |
+ |
+ |
#undef __ |