官术网_书友最值得收藏!

Code inlining control

We will look into the concept of code inlining later in this chapter, in the section, Optimizing method calls, so this text will serve just as an introduction.

By setting the value of Code inlining control, you define the default behavior for the complete project. The possible values for that setting are On, Off, and Auto. This default value can be changed in the code by inserting {$INLINE ON}, {$INLINE OFF}, or {$INLINE AUTO} into the source.

The INLINE state can be set to a different value at a place where the inlined method is defined and a place where it is used (called). This creates six possible combinations.

When we look at the method definition, INLINE has the following meaning:

  • INLINE ON: If the method is marked with the inline directive (more on that later), it will be marked as inlineable
  • INLINE AUTO: Same as INLINE ON, with the addition that any routine not marked with inline will still be marked inlineable if its code size is less than or equal to 32 bytes
  • INLINE OFF: The routine will not be marked as inlineable even if it is marked with inline

At the place of use, INLINE has a different meaning:

  • INLINE ON: If a called method is marked as inlineable, it will be expanded inline (at the place of call) if possible
  • INLINE AUTO: Same as INLINE ON
  • INLINE OFF: The routine will not be expanded inline, even if it is marked inlineable
主站蜘蛛池模板: 安达市| 临夏县| 岳西县| 宝应县| 白河县| 永清县| 青冈县| 万载县| 泰安市| 什邡市| 康马县| 宽甸| 同心县| 米林县| 曲靖市| 钦州市| 武义县| 文化| 镇坪县| 保山市| 抚州市| 麻阳| 景洪市| 兖州市| 徐汇区| 衡阳县| 南开区| 涪陵区| 海盐县| 城步| 益阳市| 赣榆县| 砚山县| 涡阳县| 日土县| 娱乐| 寻乌县| 吉木萨尔县| 定日县| 广宗县| 桃园县|