summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2019-07-21 12:26:25 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-07-30 01:33:50 -0400
commit9c8a211a8592dbc7349eb336ff37e3cdfe698efe (patch)
tree7ed4bce86043560f1e12d425e3f41b1559f64f91
parent86f47b8e26726d8629e5d9df44c573aced0a4d65 (diff)
downloadhaskell-9c8a211a8592dbc7349eb336ff37e3cdfe698efe.tar.gz
Expand the preallocated Int range to [-16,255]
Effects as I measured them: RTS Size: +0.1% Compile times: -0.5% Runtine nofib: -1.1% Nofib runtime result seems to mostly come from the `CS` benchmark which is very sensible to alignment changes so this is likely over represented. However the compile time changes are realistic. This is related to #16961.
-rw-r--r--includes/rts/Constants.h2
-rw-r--r--rts/StgMiscClosures.cmm242
2 files changed, 242 insertions, 2 deletions
diff --git a/includes/rts/Constants.h b/includes/rts/Constants.h
index 9364bccae2..15ff2a43d9 100644
--- a/includes/rts/Constants.h
+++ b/includes/rts/Constants.h
@@ -59,7 +59,7 @@
* NB. This corresponds with the number of actual INTLIKE/CHARLIKE
* closures defined in rts/StgMiscClosures.cmm.
*/
-#define MAX_INTLIKE 16
+#define MAX_INTLIKE 255
#define MIN_INTLIKE (-16)
#define MAX_CHARLIKE 255
diff --git a/rts/StgMiscClosures.cmm b/rts/StgMiscClosures.cmm
index e80ce45172..b58cdc3874 100644
--- a/rts/StgMiscClosures.cmm
+++ b/rts/StgMiscClosures.cmm
@@ -1027,7 +1027,247 @@ section "data" {
INTLIKE_HDR(13)
INTLIKE_HDR(14)
INTLIKE_HDR(15)
- INTLIKE_HDR(16) /* MAX_INTLIKE == 16 */
+ INTLIKE_HDR(16)
+ INTLIKE_HDR(17)
+ INTLIKE_HDR(18)
+ INTLIKE_HDR(19)
+ INTLIKE_HDR(20)
+ INTLIKE_HDR(21)
+ INTLIKE_HDR(22)
+ INTLIKE_HDR(23)
+ INTLIKE_HDR(24)
+ INTLIKE_HDR(25)
+ INTLIKE_HDR(26)
+ INTLIKE_HDR(27)
+ INTLIKE_HDR(28)
+ INTLIKE_HDR(29)
+ INTLIKE_HDR(30)
+ INTLIKE_HDR(31)
+ INTLIKE_HDR(32)
+ INTLIKE_HDR(33)
+ INTLIKE_HDR(34)
+ INTLIKE_HDR(35)
+ INTLIKE_HDR(36)
+ INTLIKE_HDR(37)
+ INTLIKE_HDR(38)
+ INTLIKE_HDR(39)
+ INTLIKE_HDR(40)
+ INTLIKE_HDR(41)
+ INTLIKE_HDR(42)
+ INTLIKE_HDR(43)
+ INTLIKE_HDR(44)
+ INTLIKE_HDR(45)
+ INTLIKE_HDR(46)
+ INTLIKE_HDR(47)
+ INTLIKE_HDR(48)
+ INTLIKE_HDR(49)
+ INTLIKE_HDR(50)
+ INTLIKE_HDR(51)
+ INTLIKE_HDR(52)
+ INTLIKE_HDR(53)
+ INTLIKE_HDR(54)
+ INTLIKE_HDR(55)
+ INTLIKE_HDR(56)
+ INTLIKE_HDR(57)
+ INTLIKE_HDR(58)
+ INTLIKE_HDR(59)
+ INTLIKE_HDR(60)
+ INTLIKE_HDR(61)
+ INTLIKE_HDR(62)
+ INTLIKE_HDR(63)
+ INTLIKE_HDR(64)
+ INTLIKE_HDR(65)
+ INTLIKE_HDR(66)
+ INTLIKE_HDR(67)
+ INTLIKE_HDR(68)
+ INTLIKE_HDR(69)
+ INTLIKE_HDR(70)
+ INTLIKE_HDR(71)
+ INTLIKE_HDR(72)
+ INTLIKE_HDR(73)
+ INTLIKE_HDR(74)
+ INTLIKE_HDR(75)
+ INTLIKE_HDR(76)
+ INTLIKE_HDR(77)
+ INTLIKE_HDR(78)
+ INTLIKE_HDR(79)
+ INTLIKE_HDR(80)
+ INTLIKE_HDR(81)
+ INTLIKE_HDR(82)
+ INTLIKE_HDR(83)
+ INTLIKE_HDR(84)
+ INTLIKE_HDR(85)
+ INTLIKE_HDR(86)
+ INTLIKE_HDR(87)
+ INTLIKE_HDR(88)
+ INTLIKE_HDR(89)
+ INTLIKE_HDR(90)
+ INTLIKE_HDR(91)
+ INTLIKE_HDR(92)
+ INTLIKE_HDR(93)
+ INTLIKE_HDR(94)
+ INTLIKE_HDR(95)
+ INTLIKE_HDR(96)
+ INTLIKE_HDR(97)
+ INTLIKE_HDR(98)
+ INTLIKE_HDR(99)
+ INTLIKE_HDR(100)
+ INTLIKE_HDR(101)
+ INTLIKE_HDR(102)
+ INTLIKE_HDR(103)
+ INTLIKE_HDR(104)
+ INTLIKE_HDR(105)
+ INTLIKE_HDR(106)
+ INTLIKE_HDR(107)
+ INTLIKE_HDR(108)
+ INTLIKE_HDR(109)
+ INTLIKE_HDR(110)
+ INTLIKE_HDR(111)
+ INTLIKE_HDR(112)
+ INTLIKE_HDR(113)
+ INTLIKE_HDR(114)
+ INTLIKE_HDR(115)
+ INTLIKE_HDR(116)
+ INTLIKE_HDR(117)
+ INTLIKE_HDR(118)
+ INTLIKE_HDR(119)
+ INTLIKE_HDR(120)
+ INTLIKE_HDR(121)
+ INTLIKE_HDR(122)
+ INTLIKE_HDR(123)
+ INTLIKE_HDR(124)
+ INTLIKE_HDR(125)
+ INTLIKE_HDR(126)
+ INTLIKE_HDR(127)
+ INTLIKE_HDR(128)
+ INTLIKE_HDR(129)
+ INTLIKE_HDR(130)
+ INTLIKE_HDR(131)
+ INTLIKE_HDR(132)
+ INTLIKE_HDR(133)
+ INTLIKE_HDR(134)
+ INTLIKE_HDR(135)
+ INTLIKE_HDR(136)
+ INTLIKE_HDR(137)
+ INTLIKE_HDR(138)
+ INTLIKE_HDR(139)
+ INTLIKE_HDR(140)
+ INTLIKE_HDR(141)
+ INTLIKE_HDR(142)
+ INTLIKE_HDR(143)
+ INTLIKE_HDR(144)
+ INTLIKE_HDR(145)
+ INTLIKE_HDR(146)
+ INTLIKE_HDR(147)
+ INTLIKE_HDR(148)
+ INTLIKE_HDR(149)
+ INTLIKE_HDR(150)
+ INTLIKE_HDR(151)
+ INTLIKE_HDR(152)
+ INTLIKE_HDR(153)
+ INTLIKE_HDR(154)
+ INTLIKE_HDR(155)
+ INTLIKE_HDR(156)
+ INTLIKE_HDR(157)
+ INTLIKE_HDR(158)
+ INTLIKE_HDR(159)
+ INTLIKE_HDR(160)
+ INTLIKE_HDR(161)
+ INTLIKE_HDR(162)
+ INTLIKE_HDR(163)
+ INTLIKE_HDR(164)
+ INTLIKE_HDR(165)
+ INTLIKE_HDR(166)
+ INTLIKE_HDR(167)
+ INTLIKE_HDR(168)
+ INTLIKE_HDR(169)
+ INTLIKE_HDR(170)
+ INTLIKE_HDR(171)
+ INTLIKE_HDR(172)
+ INTLIKE_HDR(173)
+ INTLIKE_HDR(174)
+ INTLIKE_HDR(175)
+ INTLIKE_HDR(176)
+ INTLIKE_HDR(177)
+ INTLIKE_HDR(178)
+ INTLIKE_HDR(179)
+ INTLIKE_HDR(180)
+ INTLIKE_HDR(181)
+ INTLIKE_HDR(182)
+ INTLIKE_HDR(183)
+ INTLIKE_HDR(184)
+ INTLIKE_HDR(185)
+ INTLIKE_HDR(186)
+ INTLIKE_HDR(187)
+ INTLIKE_HDR(188)
+ INTLIKE_HDR(189)
+ INTLIKE_HDR(190)
+ INTLIKE_HDR(191)
+ INTLIKE_HDR(192)
+ INTLIKE_HDR(193)
+ INTLIKE_HDR(194)
+ INTLIKE_HDR(195)
+ INTLIKE_HDR(196)
+ INTLIKE_HDR(197)
+ INTLIKE_HDR(198)
+ INTLIKE_HDR(199)
+ INTLIKE_HDR(200)
+ INTLIKE_HDR(201)
+ INTLIKE_HDR(202)
+ INTLIKE_HDR(203)
+ INTLIKE_HDR(204)
+ INTLIKE_HDR(205)
+ INTLIKE_HDR(206)
+ INTLIKE_HDR(207)
+ INTLIKE_HDR(208)
+ INTLIKE_HDR(209)
+ INTLIKE_HDR(210)
+ INTLIKE_HDR(211)
+ INTLIKE_HDR(212)
+ INTLIKE_HDR(213)
+ INTLIKE_HDR(214)
+ INTLIKE_HDR(215)
+ INTLIKE_HDR(216)
+ INTLIKE_HDR(217)
+ INTLIKE_HDR(218)
+ INTLIKE_HDR(219)
+ INTLIKE_HDR(220)
+ INTLIKE_HDR(221)
+ INTLIKE_HDR(222)
+ INTLIKE_HDR(223)
+ INTLIKE_HDR(224)
+ INTLIKE_HDR(225)
+ INTLIKE_HDR(226)
+ INTLIKE_HDR(227)
+ INTLIKE_HDR(228)
+ INTLIKE_HDR(229)
+ INTLIKE_HDR(230)
+ INTLIKE_HDR(231)
+ INTLIKE_HDR(232)
+ INTLIKE_HDR(233)
+ INTLIKE_HDR(234)
+ INTLIKE_HDR(235)
+ INTLIKE_HDR(236)
+ INTLIKE_HDR(237)
+ INTLIKE_HDR(238)
+ INTLIKE_HDR(239)
+ INTLIKE_HDR(240)
+ INTLIKE_HDR(241)
+ INTLIKE_HDR(242)
+ INTLIKE_HDR(243)
+ INTLIKE_HDR(244)
+ INTLIKE_HDR(245)
+ INTLIKE_HDR(246)
+ INTLIKE_HDR(247)
+ INTLIKE_HDR(248)
+ INTLIKE_HDR(249)
+ INTLIKE_HDR(250)
+ INTLIKE_HDR(251)
+ INTLIKE_HDR(252)
+ INTLIKE_HDR(253)
+ INTLIKE_HDR(254)
+ INTLIKE_HDR(255) /* MAX_INTLIKE == 255
+ See #16961 for why 255 */
}
#endif