tracing-inlining-decisions

InspectableToolchainInlining decisions for calls and optimize your code's performance with this handy tool.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/antonykamp/cc-truffle-performance-plugin --skill tracing-inlining-decisions
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: tracing-inlining-decisions
Source: https://github.com/antonykamp/cc-truffle-performance-plugin/tree/main/skills/tracing-inlining-decisions
Command: npx skills add https://github.com/antonykamp/cc-truffle-performance-plugin --skill tracing-inlining-decisions

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Shows inlining decisions during compilation with call tree structure and reasons. Essential for understanding why calls aren't being optimized.

Core Features & Use Cases

  • Verify critical calls are inlined
  • Understand why inlining failed (e.g., RecursiveInlining, budgetExhausted, TruffleBoundary)
  • Debug and optimize method sizes for better compilation performance

Quick Start

Run the launcher with --experimental-options --engine.TraceInlining to emit inlining decisions, optionally adding --engine.TraceCompilation to view the full call tree.

Frequently Asked Questions about tracing-inlining-decisions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify inlining decisions during Truffle compilation?▼

Verify inlining decisions by running the launcher with --experimental-options --engine.TraceInlining to emit call-tree structures showing which calls are inlined and why others remain not inlined.

Why does Truffle compilation fail to inline recursive calls?▼

Truffle compilation fails to inline recursive calls due to reason codes like RecursiveInlining, budgetExhausted, or TruffleBoundary, which are exposed in the call-tree trace to explain specific inlining failures.

How do I inspect hot paths and boundary cases in Truffle compilation traces?▼

Inspect hot paths and boundary cases by applying tracing during Truffle language performance analysis, using --engine.TraceInlining alongside --engine.TraceCompilation to view the full call tree and reason codes.

What does the budgetExhausted reason code mean in Truffle inlining traces?▼

The budgetExhausted reason code in Truffle inlining traces indicates that the compilation budget was depleted, preventing further call inlining and leaving certain methods not inlined within the call tree.

Can I debug method sizes for better compilation performance using inlining traces?▼

Debug method sizes for better compilation performance by analyzing inlining traces to understand why inlining failed, verifying critical calls, and adjusting trivialSize thresholds to optimize method compilation.

Do I need engine.TraceCompilation to view the full call tree during inlining analysis?▼

engine.TraceCompilation is optional but recommended to view the full call tree during inlining analysis, while --engine.TraceInlining is required to emit the actual inlining decisions and reason codes.