LINUX.ORG.RU

История изменений

Исправление Manhunt, (текущая версия) :

Вот это

	movabsq	$10000000000, %rcx      # imm = 0x2540BE400
	.align	16, 0x90
.LBB0_1:                                # =>This Inner Loop Header: Depth=1
	incq	%rsi
	decq	%rcx
	jne	.LBB0_1


должно было быть распознано и вычислено на этапе компиляции. Если компилировать с -O3, то так и происходит. А с -O2 компилятор почему-то тупит для shared_ptr, но справляется для unique_ptr. Почему именно — я не разобрался, т.к. почти не пользуюсь шлангом. А с gcc разницы во времени работы нет.

Исходная версия Manhunt, :

Вот это

	movabsq	$10000000000, %rcx      # imm = 0x2540BE400
	.align	16, 0x90
.LBB0_1:                                # =>This Inner Loop Header: Depth=1
	incq	%rsi
	decq	%rcx
	jne	.LBB0_1


должно было быть распознано как dead loop и вычислено на этапе компиляции. Если компилировать с -O3, то так и происходит. А с -O2 компилятор почему-то тупит для shared_ptr, но справляется для unique_ptr. Почему именно — я не разобрался, т.к. почти не пользуюсь шлангом. А с gcc разницы во времени работы нет.