Understanding Garbage Collection in JavaScriptCore From Scratch

Understanding Garbage Collection in JavaScriptCore From Scratch

JavaScript relies on garbage collection (GC) to reclaim memory.

Read more

Meet Web Push

Meet Web Push

Websites have many reasons to notify their users of time-sensitive or high-priority events, even if the user does not currently have the site open.

Read more

Wide Gamut 2D Graphics using HTML Canvas

Wide Gamut 2D Graphics using HTML Canvas

Support for creating 2D canvases with Display P3 backing stores has been added to WebKit.

Read more

Optimizing JavaScript Standard Library Functions in JSC

Optimizing JavaScript Standard Library Functions in JSC

After three years working on JavaScriptCore (JSC), I recently had the opportunity to work on optimizing one of our standard library functions for the first time.

Read more

Speculation in JavaScriptCore

Speculation in JavaScriptCore

This post is all about speculative compilation, or just speculation for short, in the context of the JavaScriptCore virtual machine.

Read more

A Tour of Inline Caching with Delete

A Tour of Inline Caching with Delete

If you search for any JavaScript performance advice, a very popular recommendation is to avoid the delete operator.

Read more

A New Bytecode Format for JavaScriptCore

A New Bytecode Format for JavaScriptCore

In revision r237547 we introduced a new bytecode format for JavaScriptCore (JSC).

Read more

Web High Level Shading Language

Web High Level Shading Language

This article is introducing a new graphics shading language for the Web named Web High Level Shading Language (WHLSL, pronounced “whistle”).

Read more

Concurrent JavaScript:
It can work!

Concurrent JavaScript:
It can work!

With the recent addition of SharedArrayBuffer, concurrency is finding its way into the JavaScript language.

Read more

Assembling WebAssembly

Assembling WebAssembly

WebAssembly in WebKit.

Read more

JSC 💕 ES6

JSC 💕 ES6

Update: The previous version of this post showed performance data from ARES-6 version 1.0.

Read more

Responsive Design for Motion

Responsive Design for Motion

WebKit now supports the prefers-reduced-motion media feature, part of CSS Media Queries Level 5, User Preferences.

Read more