René's URL Explorer Experiment


Title: Add `@perf_event` program type with full attach/detach/count support by SiyuanSun0736 · Pull Request #18 · multikernel/kernelscript · GitHub

Open Graph Title: Add `@perf_event` program type with full attach/detach/count support by SiyuanSun0736 · Pull Request #18 · multikernel/kernelscript

X Title: Add `@perf_event` program type with full attach/detach/count support by SiyuanSun0736 · Pull Request #18 · multikernel/kernelscript

Description: Summary This PR adds first-class support for @perf_event eBPF programs in KernelScript. Users can now attach eBPF logic to hardware and software performance counters (branch misses, CPU cycles, cache misses, etc.) with a clean, safe, single-file workflow — no manual perf_event_open(2) boilerplate required. New language features @perf_event program attribute @perf_event fn on_branch_miss(ctx: *bpf_perf_event_data) -> i32 { return 0 } perf_event_attr struct literal — passed directly to attach(): var attr = perf_event_attr { counter: branch_misses, pid: -1, // all processes cpu: 0, // CPU 0 period: 1000000, wakeup: 1, inherit: false, exclude_kernel: false, exclude_user: false } var prog = load(on_branch_miss) attach(prog, attr) // two-argument perf_event form detach(prog) perf_counter enum — 9 hardware/software counters: cpu_cycles, instructions, cache_references, cache_misses, branch_instructions, branch_misses, page_faults, context_switches, cpu_migrations Compiler & codegen changes Component Change ast.ml PerfEvent program type, perf_event_attr struct, perf_counter enum type_checker.ml Validates @perf_event signature and perf_event_attr field types ir_generator.ml Recognises PerfEvent program type ebpf_c_codegen.ml Emits SEC("perf_event") and bpf_perf_event_data context context/perf_event_codegen.ml New module for perf event context field access codegen userspace_codegen.ml Full perf_event lifecycle codegen (see below) stdlib.ml attach/detach builtin resolution for perf_event form btf_parser.ml perf_event_attr BTF type extraction Generated userspace C functions (emitted when attach(prog, attr) is used): ks_open_perf_event(ks_perf_event_attr) — maps perf_counter enum → PERF_TYPE_*/PERF_COUNT_*, validates pid/cpu rules, calls syscall(SYS_perf_event_open, ...) ks_read_perf_count(int perf_fd) → int64_t — reads raw counter value via read() ks_print_perf_count(int perf_fd, const char *name) — prints [perf] : with PRId64 Attach sequence (compiler-generated, in order): attr.disabled = 1 — open without starting perf_event_open(2) → perf_fd IOC_RESET — zero the counter before BPF attachment bpf_program__attach_perf_event(prog, perf_fd) — link BPF program IOC_ENABLE — start counting Detach sequence: IOC_DISABLE → bpf_link__destroy → close(perf_fd) pid/cpu validation (enforced at runtime): pid cpu Result ≥ 0 ≥ 0 OK — specific process, specific CPU ≥ 0 -1 OK — specific process, any CPU -1 ≥ 0 OK — all processes, specific CPU (system-wide) -1 -1 Error — rejected Tests New file test_perf_event_attach.ml — 6 test cases: Test What it verifies perf_event_codegen_enforces_pid_cpu_rules pid/cpu validation, IOC_ENABLE/DISABLE, success messages perf_event_counting_starts_correctly disabled=1 → IOC_RESET → attach_perf_event → IOC_ENABLE ordering perf_event_period_and_wakeup_defaults safe defaults (1000000/1) substituted when period/wakeup = 0 perf_event_period_and_wakeup_custom runtime conditional expression emitted for custom values perf_read_count_function_generated ks_read_perf_count and ks_print_perf_count generated correctly standard_attach_uses_libbpf_error_checks all attach branches use libbpf_get_error All 6 tests pass. perf_branch_miss.ks compiles successfully end-to-end. Documentation README.md — @perf_event added to program types overview; new Hardware Performance Counter Programs section with full lifecycle example and perf_counter table SPEC.md — new § 3.1.3 Perf Event Programs: syntax, pid/cpu rules, perf_counter enum, generated C helpers table, attach/detach sequences, compiler implementation notes Testing checklist dune build — passes dune build @tests — all OCaml unit tests pass test_all_examples.sh — perf_branch_miss.ks compiles KS→C→binary successfully (remaining failures are pre-existing and unrelated to this PR)

Open Graph Description: Summary This PR adds first-class support for @perf_event eBPF programs in KernelScript. Users can now attach eBPF logic to hardware and software performance counters (branch misses, CPU cycles, cac...

X Description: Summary This PR adds first-class support for @perf_event eBPF programs in KernelScript. Users can now attach eBPF logic to hardware and software performance counters (branch misses, CPU cycles, cac...

Opengraph URL: https://github.com/multikernel/kernelscript/pull/18

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:c607fcc5-159a-e953-02c6-73c0f6edb163
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB12E:107350:E5BC7B:13C0437:6A625A20
html-safe-nonce9fd50a777630319f8396f836b21bc03711db0a49bd31d1e655bcebf075fa6687
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMTJFOjEwNzM1MDpFNUJDN0I6MTNDMDQzNzo2QTYyNUEyMCIsInZpc2l0b3JfaWQiOiI1NjY5MjE5NDkyMzM1NjA2MzA0IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac7c7225d2c3db97e2ca6a4d9e1cf043382812b527e6ce9d49e35ea4d572638cd5
hovercard-subject-tagpull_request:3583741499
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/multikernel/kernelscript/pull/18/files
twitter:imagehttps://avatars.githubusercontent.com/u/100674758?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/100674758?s=400&v=4
og:image:altSummary This PR adds first-class support for @perf_event eBPF programs in KernelScript. Users can now attach eBPF logic to hardware and software performance counters (branch misses, CPU cycles, cac...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb928dd27bb9305f313c737471c216297e218430ec505d064cf33d7d74af9bf89
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/multikernel/kernelscript git https://github.com/multikernel/kernelscript.git
octolytics-dimension-user_id202362072
octolytics-dimension-user_loginmultikernel
octolytics-dimension-repository_id1019261571
octolytics-dimension-repository_nwomultikernel/kernelscript
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1019261571
octolytics-dimension-repository_network_root_nwomultikernel/kernelscript
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release6f728c3f39985ee4d171ffdd5591d8d2652392d9
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/multikernel/kernelscript/pull/18/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmultikernel%2Fkernelscript%2Fpull%2F18%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmultikernel%2Fkernelscript%2Fpull%2F18%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=multikernel%2Fkernelscript
Reloadhttps://github.com/multikernel/kernelscript/pull/18/files
Reloadhttps://github.com/multikernel/kernelscript/pull/18/files
Reloadhttps://github.com/multikernel/kernelscript/pull/18/files
Please reload this pagehttps://github.com/multikernel/kernelscript/pull/18/files
multikernel https://github.com/multikernel
kernelscripthttps://github.com/multikernel/kernelscript
Notifications https://github.com/login?return_to=%2Fmultikernel%2Fkernelscript
Fork 23 https://github.com/login?return_to=%2Fmultikernel%2Fkernelscript
Star 501 https://github.com/login?return_to=%2Fmultikernel%2Fkernelscript
Code https://github.com/multikernel/kernelscript
Issues 2 https://github.com/multikernel/kernelscript/issues
Pull requests 0 https://github.com/multikernel/kernelscript/pulls
Actions https://github.com/multikernel/kernelscript/actions
Projects https://github.com/multikernel/kernelscript/projects
Security and quality 0 https://github.com/multikernel/kernelscript/security
Insights https://github.com/multikernel/kernelscript/pulse
Code https://github.com/multikernel/kernelscript
Issues https://github.com/multikernel/kernelscript/issues
Pull requests https://github.com/multikernel/kernelscript/pulls
Actions https://github.com/multikernel/kernelscript/actions
Projects https://github.com/multikernel/kernelscript/projects
Security and quality https://github.com/multikernel/kernelscript/security
Insights https://github.com/multikernel/kernelscript/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmultikernel%2Fkernelscript%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmultikernel%2Fkernelscript%2Fissues%2Fnew%2Fchoose
congwang-mkhttps://github.com/congwang-mk
multikernel:mainhttps://github.com/multikernel/kernelscript/tree/main
SiyuanSun0736:perf_prhttps://github.com/SiyuanSun0736/kernelscript/tree/perf_pr
Conversation 18 https://github.com/multikernel/kernelscript/pull/18
Commits 10 https://github.com/multikernel/kernelscript/pull/18/commits
Checks 1 https://github.com/multikernel/kernelscript/pull/18/checks
Files changed https://github.com/multikernel/kernelscript/pull/18/files
Please reload this pagehttps://github.com/multikernel/kernelscript/pull/18/files
Add @perf_event program type with full attach/detach/count support https://github.com/multikernel/kernelscript/pull/18/files#top
Show all changes 10 commits https://github.com/multikernel/kernelscript/pull/18/files
a0133a4 Add @perf_event program type with full attach/detach/count support SiyuanSun0736 Apr 22, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/a0133a496f39fc4241d5efbbb823fedef2940942
a651add Merge branch 'multikernel:main' into perf_pr SiyuanSun0736 Apr 28, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/a651addd8c7a70344d41b4d05ed5dfb2203635fd
413ac2d feat: add @perf_event attach and counter helpers SiyuanSun0736 May 6, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/413ac2decd0618a9fd0ec5670b82d3a6142690c4
ae9b2ea feat: enhance perf_event attachment with atomic duplicate checks and … SiyuanSun0736 May 6, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/ae9b2eaaa1d59a9f0a7ffe1ae546c7aa9defbbdc
c3e2167 feat: enhance perf_event attachment with detaching field and concurre… SiyuanSun0736 May 6, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/c3e2167e7c0a47ab594e8f8b081dca6daa6dbef3
14bebdb Refactor perf_event handling in KernelScript SiyuanSun0736 May 7, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/14bebdb3233b8f18dab506b9de323b74edc17fe8
6c288f3 feat: add perf_page_fault example demonstrating software page-fault e… SiyuanSun0736 May 7, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/6c288f32e9276bd937e9a42bd7f134b7a3712950
8f3c455 Add first-class perf attachments with generic read support SiyuanSun0736 May 11, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/8f3c4552a07d2034c4f005b721dd4669048c1b28
5bcf0cb Narrow generated skeleton cleanup to userspace object lifetime SiyuanSun0736 May 11, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/5bcf0cb6839b7fd0223766e0697d730d9b7d13fa
0f41619 Optimize perf attachment reads SiyuanSun0736 May 12, 2026 https://github.com/multikernel/kernelscript/pull/18/commits/0f41619e28aabafc59829dc08479ab0deac22cb6
Clear filters https://github.com/multikernel/kernelscript/pull/18/files
Please reload this pagehttps://github.com/multikernel/kernelscript/pull/18/files
Please reload this pagehttps://github.com/multikernel/kernelscript/pull/18/files
BUILTINS.md https://github.com/multikernel/kernelscript/pull/18/files#diff-a6fbfd5d0465bb0a334eaf5de654b53e43f83a1e0e18e7ba740fffb790e4bced
README.md https://github.com/multikernel/kernelscript/pull/18/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
SPEC.md https://github.com/multikernel/kernelscript/pull/18/files#diff-7426c9e3a694ca6015df5f98637912975f2edea23270203ee89a8bdeed246ee0
perf_cache_miss.ks https://github.com/multikernel/kernelscript/pull/18/files#diff-3a077caa1a1b884d8a97deec19362aea96f35ff290a32d44040226b70b0f20da
perf_page_fault.ks https://github.com/multikernel/kernelscript/pull/18/files#diff-4363a53a84908383ce551f4f162a666ea0e8239573a7ce9aa1f2f3cfe113af99
ast.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-b5e3d83ee8061a39f9c69482481a1759d85c7d7f6c1cfee7598c5987156b3e9d
btf_parser.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-5b94502256671ab875f7f2e6e2d9d1b21719fcb3109673e0e5b51607a5a0678c
codegen_common.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-d6300054242055da2df3f5279928053c076632f12617f8553b07b4de2a63c726
dune https://github.com/multikernel/kernelscript/pull/18/files#diff-bb9e52412d328fa2ea517d0ba961f10a5415e5b5ab87dc667e8369abb0f09674
perf_event_codegen.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-abb47116e6cef398ffb2992383e96953c6fcdf6cfe08fd2d58554e39a0c24c02
ebpf_c_codegen.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-087a8faac5edce9a796f07749864a234f146bca085c99e2bc5761e20f2018b6c
ir_function_system.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-c5cde84ef6e300bca484d6b44c6106851c11dcb7d47d5de0a348cee44870c0f6
ir_generator.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-7b7b3d36c6a326e1a022a7eaf0e67082de1abe843a789dc49e3580493ba9ffdf
main.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-0d32fcae43114eceb0a0089619caca3700eacbb76b225ab4dd746843a121a805
multi_program_analyzer.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-7704336b4cd1a1a1cdd840c524d4cee0430b6a09b86e7dce01a7f9bd7faff74e
stdlib.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-c2bcdbff958f6b2d9ac690d4e0b39f68e001c8de8205b4b23ade032fd9654f16
type_checker.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-19547f3bd84789512c822f230e0efa538e8dcef3e62b677be000400b908496fa
userspace_codegen.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-1864935d68899925ab1485ad4f91071ac537e818db74b2dfc6c5979902c7efbf
dune https://github.com/multikernel/kernelscript/pull/18/files#diff-f00bc4a85dc91983057a45088c3b4e6ac0d794731907dabd54d0293b71b22ed8
test_detach_api.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-2fb9fbdfbcdf15d2056737839008d487e3fb08cfe0c4f6ff77c11e32a8de3151
test_ir.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-dd8cf99653f5e05da220db274a8341e72d01007cd0f7211b0e9a6cc19ed7655f
test_perf_event_attach.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-32b71512077f01935dd07ed3c8418df81d10dc0ed25bb688085a3d28ad9b0c7a
test_program_ref.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-d9316833291c3479d9deb9547718856180a99db21865c6d8a2f6f4c72d142e8e
test_userspace.ml https://github.com/multikernel/kernelscript/pull/18/files#diff-587b324f12087d95bba3c8913516e6a108e9996747af32b630e03ebd3a3a0b7c
BUILTINS.mdhttps://github.com/multikernel/kernelscript/pull/18/files#diff-a6fbfd5d0465bb0a334eaf5de654b53e43f83a1e0e18e7ba740fffb790e4bced
View file https://github.com/SiyuanSun0736/kernelscript/blob/0f41619e28aabafc59829dc08479ab0deac22cb6/BUILTINS.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/multikernel/kernelscript/pull/18/{{ revealButtonHref }}
https://github.com/multikernel/kernelscript/pull/18/files#diff-a6fbfd5d0465bb0a334eaf5de654b53e43f83a1e0e18e7ba740fffb790e4bced
https://github.com/multikernel/kernelscript/pull/18/files#diff-a6fbfd5d0465bb0a334eaf5de654b53e43f83a1e0e18e7ba740fffb790e4bced
https://github.com/multikernel/kernelscript/pull/18/files#diff-a6fbfd5d0465bb0a334eaf5de654b53e43f83a1e0e18e7ba740fffb790e4bced
https://github.com/multikernel/kernelscript/pull/18/files#diff-a6fbfd5d0465bb0a334eaf5de654b53e43f83a1e0e18e7ba740fffb790e4bced
https://github.com/multikernel/kernelscript/pull/18/files#diff-a6fbfd5d0465bb0a334eaf5de654b53e43f83a1e0e18e7ba740fffb790e4bced
https://github.com/multikernel/kernelscript/pull/18/files#diff-a6fbfd5d0465bb0a334eaf5de654b53e43f83a1e0e18e7ba740fffb790e4bced
https://github.com/multikernel/kernelscript/pull/18/files#diff-a6fbfd5d0465bb0a334eaf5de654b53e43f83a1e0e18e7ba740fffb790e4bced
README.mdhttps://github.com/multikernel/kernelscript/pull/18/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
View file https://github.com/SiyuanSun0736/kernelscript/blob/0f41619e28aabafc59829dc08479ab0deac22cb6/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/multikernel/kernelscript/pull/18/{{ revealButtonHref }}
https://github.com/multikernel/kernelscript/pull/18/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/multikernel/kernelscript/pull/18/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/multikernel/kernelscript/pull/18/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/multikernel/kernelscript/pull/18/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/multikernel/kernelscript/pull/18/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/multikernel/kernelscript/pull/18/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
SPEC.mdhttps://github.com/multikernel/kernelscript/pull/18/files#diff-7426c9e3a694ca6015df5f98637912975f2edea23270203ee89a8bdeed246ee0
View file https://github.com/SiyuanSun0736/kernelscript/blob/0f41619e28aabafc59829dc08479ab0deac22cb6/SPEC.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/multikernel/kernelscript/pull/18/{{ revealButtonHref }}
https://github.com/multikernel/kernelscript/pull/18/files#diff-7426c9e3a694ca6015df5f98637912975f2edea23270203ee89a8bdeed246ee0
https://github.com/multikernel/kernelscript/pull/18/files#diff-7426c9e3a694ca6015df5f98637912975f2edea23270203ee89a8bdeed246ee0
https://github.com/multikernel/kernelscript/pull/18/files#diff-7426c9e3a694ca6015df5f98637912975f2edea23270203ee89a8bdeed246ee0
https://github.com/multikernel/kernelscript/pull/18/files#diff-7426c9e3a694ca6015df5f98637912975f2edea23270203ee89a8bdeed246ee0
examples/perf_cache_miss.kshttps://github.com/multikernel/kernelscript/pull/18/files#diff-3a077caa1a1b884d8a97deec19362aea96f35ff290a32d44040226b70b0f20da
View file https://github.com/SiyuanSun0736/kernelscript/blob/0f41619e28aabafc59829dc08479ab0deac22cb6/examples/perf_cache_miss.ks
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/multikernel/kernelscript/pull/18/{{ revealButtonHref }}
Please reload this pagehttps://github.com/multikernel/kernelscript/pull/18/files
Please reload this pagehttps://github.com/multikernel/kernelscript/pull/18/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.