RSSAmplifier

Blog

Segfaulty Deduction

blog.cdleary.comRSS feed ↗13 posts

Latest posts

A tour of some XLS/xlsynth codegen options

A tour of some XLS/xlsynth codegen options This is a brief tour of some options for generating pipelines from the “Accelerated Hardware Synthesis” (XLS) project. Namely, whether to flop inputs/outputs or to alternatively allow “combinational overhang” for the module you’re generating, i.e. whether to assume you …

github.com/xlsynth/xlsynth release process

github.com/xlsynth/xlsynth release process TL;DR: The xlsynth/xlsynth GitHub repository is a lightly-modified release fork of google/xls , mainly to provide timely, multi-platform C ABI library artifacts (like libxls.so and .dylib ) for broader ecosystem use (e.g., in Rust). It tracks upstream closely, occasionally carrying patches …

XLS (Accelerated HW Synthesis) Lecture @ UCSC 2024

What follows is a transcript (with some edits for clarity) of the XLS (Accelerated HW Synthesis) guest lecture from Professor Beamer's CSE 228A - Winter 2024 UC Santa Cruz . Note that while the topic of this lecture is the XLS (Accelerated HW Synthesis) hardware development environment / toolkit this is primarily a …

CPP counter macrology

I can calculate the motion of heavenly bodies, but not the madness of people. — Isaac Newton (purportedly) Limited though they may be, C macros as implemented in the C Preprocessor are still useful in these heady, modern, chainsaw-juggling C++ days. One aspect that keeps C macros useful in this modern …

CPython Block-Stack Example

Chop your own wood and it will warm you twice. — Henry David Thoreau via Henry Ford Allow me to tell you a tale: of the stack that's not the stack. A mysterious place where nulls are pushed and popped in lieu of PyObject s. A wondrous place, where tracebacks are …

ARM chars are unsigned by default

[Latest from the "I can't believe I'm writing a blog entry about this" department, but the context and surrounding discussion is interesting. --Ed] If you're like me, or one of the other thousands of concerned parents who has borne C code into this cruel, topsy-turvy, and oftentimes undefined world, you …

C++, generic wrappers, and CRTP, oh MI!

Reading some of the original traits papers, I got to the part where they mention the conceptual difficulties inherent in multiple inheritance (MI), one of which is "factoring out generic wrappers". [*] [*] Fun concept from the papers: the conceptual issue with MI is that classes are overloaded in their purpose: they …

Understanding JIT spray

Steel your mind for a tale of intrigue, intertwingled with a complex topic in browser security. (It's kind of all over the place, but I might spray something useful.) Our story, like so many others, starts out with a browser user like yourself, a bottle of red wine, and a …

Picky monkeys PIC ARM

The Mozilla JavaScript-engine team has been hard at work since the shiny new JägerMonkey Just-In-Time compiler hit the betas. We're viciously ripping apart any bug that stands between us and shipping Firefox 4 . One could say that we're coming at you like a SpiderMonkey . Alongside our ferocious fixing, one of …

PICing on JavaScript for fun and profit

Inline caching is a critical ingredient in the delicious pie that is dynamic language performance optimization. What follows is a gentle-albeit-quirky introduction to what polymorphic inline caches (PICs) are and why they're useful to JavaScript Just-In-Time compilers like JaegerMonkey. But first, the ceremonial giving of the props : the initial barrage …

Tool teams should work like sleeper cells

I've had some unique experiences interacting-with and participating-in tool development at previous companies that I've worked for, with the quality of those experiences in the broad spectrum from train-wreck to near-satisfactory. From that mental scarring has emerged the weighty goo of an idea, which may be interesting food for thought …

Notes from the JS pit: closure optimization

In anticipation of a much-delayed dentist appointment tomorrow morning and under the assumption that hard liquor removes plaque, I've produced [*] an entry in the spirit of Stevey's Drunken Blog Rants , s/wine/scotch/g . I apologize for any and all incomprehensibility, although Stevey may not mind since it's largely an …

Learning Python by example: RC4

One of my friends at work was fakeplaining [*] that he had been on the Python programming mailing list at work for some time, yet still did not know Python. Being hopelessly suggestible in the face of obvious sarcasm, I decided to sacrifice a few hours of sleep to the god …