Compilers and Virtual Machines
Compiler technology is at the heart of performance optimization: compilers generate the machine code that will run your software, and as such, they are the main responsible actors in making the best use of the CPU instruction set to get the job done in the most efficient way possible.
Igalia has talented engineers who understand how compilers work and can optimize how they generate machine code for your programs, providing that performance boost that can make a real difference. Our team can provide holistic optimizations: in the runtime, on the frontend, the optimizer and in the backend.
- Virtual Machines
Ahoy, programming-language tinkerfolk! Today's rambling missive chews the gnarly bones of "inline caches", in general but also with particular respect to the Guile implementation of Scheme. First, a little intro.inline what?Inline caches are a...
Greetings, fellow Schemers and compiler nerds: I bring fresh nargery!instruction explosionA couple years ago I made a list of compiler tasks for Guile. Most of these are still open, but I've been chipping away at the one labeled "instruction...
I remember in 2008 seeing Gerald Sussman, creator of the Scheme language, resignedly describing a sea change in the MIT computer science curriculum. In response to a question from the audience, he said:The work of engineers used to be about taking small...
Good morning all!In my last article I talked about how we composed a lightweight "fibers" facility in Guile out of lower-level primitives. What we implemented there is enough to be useful, but it is missing an important aspect of concurrency:...
Good day, Schemers!Over the last 12 to 18 months, as we were preparing for the Guile 2.2 release, I was growing increasingly dissatisfied at not having a good concurrency story in Guile.I wanted to be able to spawn a million threads on a core, to support...
[CloneObjectIC] copy may_have_interesting_symbols bit to fast result map This fixes a CHECK failure in MapVerify, and gets the correct behaviour for uses of the well-known symbols. BUG=v8:7611, chromium:866229 Remail@example.com,...Caitlin Potter04/08/2018
Reland "[esnext] re-implement template strings" - Add a new bytecode for the ToString operation, replacing the old intrinsic call (currently does not collect type feedback). - Add a new AST node to represent TemplateLiterals, and avoid generating...Caitlin Potter04/08/2018
[esnext] fix OOB read in ASTPrinter::VisistTemplateLiteral Fixes an error where TemplateLiteral printing in --print-ast would try to read an element beyond the length of a vector. BUG=v8:7415, chromium:820596 Rfirstname.lastname@example.org,...Caitlin Potter04/08/2018
[esnext] re-implement template strings - Add a new bytecode for the ToString operation, replacing the old intrinsic call (currently does not collect type feedback). - Add a new AST node to represent TemplateLiterals, and avoid generating unnecessary...Caitlin Potter04/08/2018
[cctest] add bytecode generator tests for template literals Just copies the StringConcat tests and refactors them to exercise template literals rather than simple string addition. BUG=v8:7415 Remail@example.com Change-Id:...Caitlin Potter04/08/2018