Chromium Code Reviews| 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 __ |