From 76aa8a5a74b51fc7b41b580e35b7457c3033c13d Mon Sep 17 00:00:00 2001 From: Zoltan Somogyi Date: Fri, 26 Feb 2016 05:20:34 +1100 Subject: [PATCH] Move comments to the code they apply to. --- runtime/mercury_grade.h | 46 ++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/runtime/mercury_grade.h b/runtime/mercury_grade.h index 03f5e528e..cbc7d2260 100644 --- a/runtime/mercury_grade.h +++ b/runtime/mercury_grade.h @@ -347,27 +347,6 @@ ** ** Single-precision floats do form part of the grade option string ** and they imply unboxed floats. -** -** Part 12 (i.e. MR_NEW_MERCURYFILE_STRUCT) can't be set -** by the `--grade' option; it is intended to be set by the configure script -** at configuration time. So we don't include it in the grade option string. -** -** Part 13 used to record the absence/presence of the .regparm grade component -** with MR_HIGHLEVEL_CODE, and the absence/presence of the .picreg grade -** component for !MR_HIGHLEVEL_CODE and MR_USE_GCC_GLOBAL_REGISTERS. -** Neither is in use anymore. -** -** The .regparm part specified an optimized calling convention of 32-bit x86 -** machines, which turns out to be a pessimizing calling convention on x86/64. -** -** Once upon a time, on x86 machines with MR_USE_GCC_GLOBAL_REGISTERS, -** we reserved three global registers if we could, but had to be content -** with two if we were generating position independent code, since PIC needed -** a register for itself. However, the difference caused problems in linking -** object files compiled with different numbers of global registers reserved, -** and gcc bugs kept generating crashes with three reserved registers, -** so we now always reserve only two global registers. Therefore the -** distinction that .picreg used to record has vanished. */ #if MR_TAGBITS == 0 @@ -398,6 +377,12 @@ #define MR_GRADE_OPT_PART_11 MR_GRADE_OPT_PART_10 #endif +/* +** Part 12 (i.e. MR_NEW_MERCURYFILE_STRUCT) can't be set by the `--grade' +** option; it is intended to be set by the configure script at configuration +** time. We therefore don't include it in the grade option string. +*/ + #ifdef MR_NEW_MERCURYFILE_STRUCT #define MR_GRADE_PART_12 MR_PASTE2(MR_GRADE_PART_11, _file) #else @@ -405,6 +390,25 @@ #endif #define MR_GRADE_OPT_PART_12 MR_GRADE_OPT_PART_11 +/* +** Part 13 used to record the absence/presence of the .regparm grade component +** with MR_HIGHLEVEL_CODE, and the absence/presence of the .picreg grade +** component for !MR_HIGHLEVEL_CODE and MR_USE_GCC_GLOBAL_REGISTERS. +** Neither is in use anymore. +** +** The .regparm part specified an optimized calling convention of 32-bit x86 +** machines, which turns out to be a pessimizing calling convention on x86/64. +** +** Once upon a time, on x86 machines with MR_USE_GCC_GLOBAL_REGISTERS, +** we reserved three global registers if we could, but had to be content +** with two if we were generating position independent code, since PIC needed +** a register for itself. However, the difference caused problems in linking +** object files compiled with different numbers of global registers reserved, +** and gcc bugs kept generating crashes with three reserved registers, +** so we now always reserve only two global registers. Therefore the +** distinction that .picreg used to record has vanished. +*/ + #define MR_GRADE_PART_13 MR_GRADE_PART_12 #define MR_GRADE_OPT_PART_13 MR_GRADE_OPT_PART_12