summaryrefslogtreecommitdiff
path: root/src/large_pages
diff options
context:
space:
mode:
authorSuresh Srinivas <suresh.srinivas@intel.com>2018-10-29 16:47:27 -0700
committerRefael Ackermann <refack@gmail.com>2018-10-31 18:43:53 -0400
commitd32b5bd567544f5b73d186803885592bce51c870 (patch)
tree45d92a32dd0b551336e6f3368a65b8c1b19828b1 /src/large_pages
parente35f671aa796c8f755c96ea9c0b87d6565a7fe08 (diff)
downloadandroid-node-v8-d32b5bd567544f5b73d186803885592bce51c870.tar.gz
android-node-v8-d32b5bd567544f5b73d186803885592bce51c870.tar.bz2
android-node-v8-d32b5bd567544f5b73d186803885592bce51c870.zip
src: fix fully-static & large-pages combination
Fixes: https://github.com/nodejs/node/issues/23906 Refs: https://github.com/nodejs/node/pull/22079 This change to ld.implicit.script moves libc static code to .lpstub area and avoids the issue detailed in 23906 Quick performance comparision on web-tooling shows 3% improvement for the combination over fully-static cycles 376,235,487,455 390,007,877,315 instructions 700,341,146,973 714,773,201,182 itlb_misses_walk_completed 20,654,246 28,908,381 itlb_misses_walk_completed_4k 19,884,666 28,865,118 itlb_misses_walk_completed_2m_4m 769,391 43,251 Score 9.13 8.86 PR-URL: https://github.com/nodejs/node/pull/23964 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'src/large_pages')
-rw-r--r--src/large_pages/ld.implicit.script6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/large_pages/ld.implicit.script b/src/large_pages/ld.implicit.script
index ad7ce1b2e2..7f12e4bd7d 100644
--- a/src/large_pages/ld.implicit.script
+++ b/src/large_pages/ld.implicit.script
@@ -1,8 +1,10 @@
SECTIONS {
- .lpstub : { *(.lpstub) }
+ .lpstub : {
+ *libc.a:*(.text .text.*)
+ *(.lpstub)
+ }
}
PROVIDE (__nodetext = .);
PROVIDE (_nodetext = .);
PROVIDE (nodetext = .);
INSERT BEFORE .text;
-