[Bug tree-optimization/68853] [6 Regression] gcc-6 miscompiles Chromium v8 garbage collector
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 11 15:27:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68853
--- Comment #7 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
The while loop in:
421 void IncrementalMarking::ActivateIncrementalWriteBarrier() {
422 ActivateIncrementalWriteBarrier(heap_->old_space());
423 ActivateIncrementalWriteBarrier(heap_->map_space());
424 ActivateIncrementalWriteBarrier(heap_->code_space());
425 ActivateIncrementalWriteBarrier(heap_->new_space());
426
427 LargePage* lop = heap_->lo_space()->first_page();
428 while (lop->is_valid()) {
429 SetOldSpacePageFlags(lop, true, is_compacting_);
430 lop = lop->next_page();
431 }
432 }
Good: Bad:
.p2align 4,,10 .p2align 4,,10
.p2align 3 .p2align 3
.L2183: .L2176:
orq $12, 8(%rax) orq $12, 8(%rax)
movq 176(%rax), %rax movq 176(%rax), %rax
testq %rax, %rax jmp .L2176
jne .L2183
rep ret
.L2192:
rep ret
More information about the Gcc-bugs
mailing list