Calling this function:
(provide
(contract-out
[f (-> integer? integer?)]))
(define (f x) x)
from another module seems to speed up by about 8% with the annotation
in this commit.
More generally, support a
(define _id (begin 'compiler-hint:cross-module-inline _proc-expr))
hint, which is how the compiler determines that `map', etc., are
candidates for inlining.
before wiring up / initializing the new tab. This means that the
file's name is not asked for, and thus a new "untitled" number is not
allocated too early
closes PR 12361 (and hopefully introduces no new ones)
double clicking inside a string) and when clicking on close
parentheses (specifically, only special case close parens that are
actually parentheses according to the colorer, rather than special
casing all close parens).
closes PR 12349, closes PR 10396
The macro stepper tool broke when DrRacket started doing expansion
earlier, before eval handler gets control. This commit changes the
macro stepper to just expand module contents. No REPL, no evaluation.
The long-term fix might be to make the macro stepper cooperate more
closely with the module language.
Inline only trivial functions, such as `(empty? x)' -> `(null? x)',
to avoid generating too much code.
Bytecode includes a new `inline-variant' form, which records a
version of a function that is suitable for cross-module inlining.
Mostly, the variant let the run-time system to retain a copy
of the bytecode while JITting (and dropping the bytecode of)
the main variant, but it may be different from the main variant
in other ways that make it better for inlining (such a less loop
unrolling).
before the plain text-mode keymap.
Add a doubleleftclick binding to the scheme mode keymap so that
we can have sexp-sensitive double clicking in the drracket editor
- SVG icon sources
- Playback-style icons, logos, stop signs, magnifying glasses, etc., in diffuse and shiny styles
- Program to pre-render SVG files (icons/private/svg/render-png.rkt)
- Pre-rendered icons (PNGs in power-of-2 sizes)
- Made `icons' a module, with functions to conveniently load icons and convert to/from picts
- Scribble docs for `icons'
- Used new icons in DrRacket toolbar