# compiler

Published articles for compiler.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Bringing Correctly Rounded Math to Production with LLVM-libc

DevFeed: [Bringing Correctly Rounded Math to Production with LLVM-libc](<https://devfeed.tech/articles/bringing-correctly-rounded-math-to-production-with-llvm-libc-31548.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/cppblog/bringing-correctly-rounded-math-to-production-with-llvm-libc/>)

Author: Cody Miller, Tue Ly, Michael Jones

Published: 2026-09-16T22:09:50Z

Content type: article

Language: en

Sources: [C++ Team Blog](<https://devfeed.tech/sources/c-team-blog.md>)

Topics: [LLVM](<https://devfeed.tech/topics/llvm.md>), [Support](<https://devfeed.tech/topics/support.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [msvc](<https://devfeed.tech/tags/msvc.md>)

### AI overview

This guest post explains LLVM-libc's design philosophy of portability and modularity, and discusses its math functions, including their use by MSVC for compile-time evaluation and runtime execution when /Zc:cmath is enabled.

### Source excerpt

As we mentioned in the last cmath blog post, MSVC is using LLVM-libc for compile-time evaluation and runtime execution of math functions when /Zc:cmath is enabled. I invited LLVM-libc contributors Michael Jones and Tue Ly to write a guest blog post about how they've achieved what they've achieved. This is that blog post! I hope [...] The post Bringing Correctly Rounded Math to Production with LLVM-libc appeared first on C++ Team Blog.

## Size-Specialized Memory Allocation

DevFeed: [Size-Specialized Memory Allocation](<https://devfeed.tech/articles/size-specialized-memory-allocation-31550.md>)

Original publisher: [Read original article](<https://go.dev/blog/size-specialized-allocations>)

Author: Michael Matloob

Published: 2026-09-16T00:00:00Z

Content type: article

Language: en

Sources: [The Go Blog](<https://devfeed.tech/sources/the-go-blog.md>)

Topics: [Go](<https://devfeed.tech/topics/go.md>), [optimize](<https://devfeed.tech/topics/optimize.md>)

Tags: [collector](<https://devfeed.tech/tags/collector.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [go](<https://devfeed.tech/tags/go.md>), [performance](<https://devfeed.tech/tags/performance.md>), [spans](<https://devfeed.tech/tags/spans.md>)

### AI overview

Go 1.27 introduces size-specialized allocation functions for allocations smaller than 80 bytes. The change makes those allocations up to 20-30% faster and can improve allocation-heavy programs by up to 1%.

### Source excerpt

Go 1.27 improves performance of small allocations using size-specialized allocation functions.

## How to Write a Linux Kernel Module That Actually Builds

DevFeed: [How to Write a Linux Kernel Module That Actually Builds](<https://devfeed.tech/articles/how-to-write-a-linux-kernel-module-that-actually-builds-26900.md>)

Original publisher: [Read original article](<https://www.freecodecamp.org/news/how-to-write-a-linux-kernel-module-that-actually-builds/>)

Author: Chris Roy

Published: 2026-09-15T21:10:57Z

Content type: tutorial

Language: en

Sources: [freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More](<https://devfeed.tech/sources/freecodecamp-programming-tutorials-python-javascript-git-more.md>)

Topics: [Kernel](<https://devfeed.tech/topics/kernel.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Secure Boot](<https://devfeed.tech/topics/secure-boot.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [module](<https://devfeed.tech/tags/module.md>), [secure-boot](<https://devfeed.tech/tags/secure-boot.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial explains how to build and load a Linux kernel module, including the generated object files, metadata, symbols, debug information, required kernel headers and compiler setup, and common Secure Boot and kernel lockdown restrictions.

### Source excerpt

A Linux kernel module is a small piece of code that can be loaded into the running kernel without rebuilding the entire kernel. That sounds simple enough, but even a minimal module produces a surprisi

## Fedora 45 Beta Released With KMSCON Console, GNOME 51 & Other Updates

DevFeed: [Fedora 45 Beta Released With KMSCON Console, GNOME 51 & Other Updates](<https://devfeed.tech/articles/fedora-45-beta-released-with-kmscon-console-gnome-51-other-updates-26759.md>)

Original publisher: [Read original article](<https://www.phoronix.com/news/Fedora-45-Beta>)

Author: Michael Larabel

Published: 2026-09-15T14:30:08Z

Content type: news

Language: en

Sources: [Phoronix](<https://devfeed.tech/sources/phoronix.md>)

Topics: [Fedora](<https://devfeed.tech/topics/fedora.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [desktop-linux](<https://devfeed.tech/tags/desktop-linux.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-benchmarking](<https://devfeed.tech/tags/linux-benchmarking.md>), [linux-hardware-benchmarks](<https://devfeed.tech/tags/linux-hardware-benchmarks.md>), [linux-hardware-reviews](<https://devfeed.tech/tags/linux-hardware-reviews.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [linux-performance](<https://devfeed.tech/tags/linux-performance.md>), [linux-server-benchmarks](<https://devfeed.tech/tags/linux-server-benchmarks.md>), [open-source-graphics](<https://devfeed.tech/tags/open-source-graphics.md>), [phoronix](<https://devfeed.tech/tags/phoronix.md>), [phoronix-test-suite](<https://devfeed.tech/tags/phoronix-test-suite.md>), [release](<https://devfeed.tech/tags/release.md>), [ubuntu-benchmarks](<https://devfeed.tech/tags/ubuntu-benchmarks.md>), [ubuntu-hardware](<https://devfeed.tech/tags/ubuntu-hardware.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Fedora 45 Beta has been released with KMSCON replacing the in-kernel console, GNOME 51, Stratis Storage support in Anaconda, stricter security defaults, reproducible package builds, and updates to core development tools and libraries. A final release is planned for 20 October, with 27 October as a fallback date.

### Source excerpt

The beta release of Fedora 45 is out today and right on schedule for this wonderful Linux distribution...

## Generating Java bytecode: Write yourself a compiler, Part V

DevFeed: [Generating Java bytecode: Write yourself a compiler, Part V](<https://devfeed.tech/articles/generating-java-bytecode-write-yourself-a-compiler-part-v-38041.md>)

Original publisher: [Read original article](<https://nurkiewicz.com/2026/09/generating-java-bytecode-write-yourself-a-compiler.html>)

Published: 2026-09-14T22:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Nurkiewicz around Java and concurrency](<https://devfeed.tech/sources/tomasz-nurkiewicz-around-java-and-concurrency.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [bytecode](<https://devfeed.tech/tags/bytecode.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [file](<https://devfeed.tech/tags/file.md>), [go](<https://devfeed.tech/tags/go.md>), [interpreter](<https://devfeed.tech/tags/interpreter.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [virtual-machine](<https://devfeed.tech/tags/virtual-machine.md>), [writing-compiler](<https://devfeed.tech/tags/writing-compiler.md>)

### AI overview

This tutorial explains how to extend a toy-language compiler to emit valid JVM bytecode in a .class file that can run on the Java Virtual Machine. It introduces JVM instruction families for pushing integer values and explains how the constant pool stores constants and symbolic references for reuse.

### Source excerpt

Last time we created a virtual machine for our toy language. I think you can agree that designing a language which barely recognizes expressions like 2 + 3w and building a brand-new virtual machine for it seems a bit tedious. So what about keeping our microscopic language for now, but running it on a real, production-ready, battle-proven virtual machine? Like the Java Virtual Machine? Our task for today is to emit JVM bytecode in the form of a valid .class file. That file can then be fed directly to the JVM to run our program.

## Linux 7.4 Could End Up Seeing Kernel Builds ~36% Faster, Incremental Builds ~70% Faster

DevFeed: [Linux 7.4 Could End Up Seeing Kernel Builds ~36% Faster, Incremental Builds ~70% Faster](<https://devfeed.tech/articles/linux-7-4-could-end-up-seeing-kernel-builds-36-faster-incremental-builds-70-faster-17442.md>)

Original publisher: [Read original article](<https://www.phoronix.com/news/Faster-Kernel-Builds-AI-v2>)

Author: Michael Larabel

Published: 2026-09-14T10:31:16Z

Content type: news

Language: en

Sources: [Phoronix](<https://devfeed.tech/sources/phoronix.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>), [build times](<https://devfeed.tech/topics/build-times.md>), [Arm](<https://devfeed.tech/topics/arm.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Git](<https://devfeed.tech/topics/git.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [arm](<https://devfeed.tech/tags/arm.md>), [build-times](<https://devfeed.tech/tags/build-times.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [desktop-linux](<https://devfeed.tech/tags/desktop-linux.md>), [git](<https://devfeed.tech/tags/git.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-benchmarking](<https://devfeed.tech/tags/linux-benchmarking.md>), [linux-hardware-benchmarks](<https://devfeed.tech/tags/linux-hardware-benchmarks.md>), [linux-hardware-reviews](<https://devfeed.tech/tags/linux-hardware-reviews.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [linux-performance](<https://devfeed.tech/tags/linux-performance.md>), [linux-server-benchmarks](<https://devfeed.tech/tags/linux-server-benchmarks.md>), [open-source-graphics](<https://devfeed.tech/tags/open-source-graphics.md>), [phoronix](<https://devfeed.tech/tags/phoronix.md>), [phoronix-test-suite](<https://devfeed.tech/tags/phoronix-test-suite.md>), [ubuntu-benchmarks](<https://devfeed.tech/tags/ubuntu-benchmarks.md>), [ubuntu-hardware](<https://devfeed.tech/tags/ubuntu-hardware.md>)

### AI overview

A second revision of Linux kernel patches could make full allmodconfig builds about 36% faster and incremental builds about 70% faster. The work, led by Lorenzo Stoakes of Arm, addresses single-threaded bottlenecks and includes fixes, an upstream rebase, and an optional parallel Rust compiler front end. The patches are being considered for inclusion in Linux 7.4.

### Source excerpt

Earlier this month I wrote about a patch series posted to the Linux kernel mailing list that addressed a lot of "hideous code" to make Linux kernel builds faster. A number of single-threaded bottlenecks were tracked down and fixed within the Linux kernel thanks to the assistance of AI. A second revision of those patches hit the mailing list this morning and there is hope they could be upstreamed for Linux 7.4...

## Kotlin 2.4.20 Collection Checks and Experimental Context-Sensitive Resolution

DevFeed: [Kotlin 2.4.20 Collection Checks and Experimental Context-Sensitive Resolution](<https://devfeed.tech/articles/features-you-waited-for-so-long-in-kotlin-22944.md>)

Original publisher: [Read original article](<https://proandroiddev.com/features-you-waited-for-so-long-in-kotlin-6c822e9e344a?source=rss----c72404660798---4>)

Author: Andrii Dubovyk

Published: 2026-09-14T06:32:51Z

Content type: tutorial

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [collections](<https://devfeed.tech/tags/collections.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [features](<https://devfeed.tech/tags/features.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [list](<https://devfeed.tech/tags/list.md>), [mobile-app-development](<https://devfeed.tech/tags/mobile-app-development.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

The article explains two Kotlin features: allDistinctBy and allEqualBy in Kotlin 2.4.20 for checking collection values, and experimental context-sensitive resolution introduced in Kotlin 2.2 to reduce repetition when the expected type is known.

### Source excerpt

Kotlin 2.4.20 gives your collections opinions, and 2.2's compiler finally learns to read the room Some Kotlin features get a lot of attention when they arrive. Others are much less noticeable, but still make everyday code a little easier to write. Two examples of the latter are allDistinctBy/ allEqualBy in Kotlin 2.4.20 and context-sensitive resolution, which was introduced experimentally in Kotlin 2.2. allDistinctBy/ allEqualBy: A Simpler Way to Check Collections For years, checking whether all values in a collection were unique often looked something like this: val users = listOf( User(name = "A", age = 20), User(name = "B", age = 25), User(name = "C", age = 30) ) users.map { it.age }.distinct().size == users.size // true It works, but it creates another list, removes duplicates, counts the result, and then compares the sizes just to get a Boolean answer. Kotlin 2.4.20 adds a more direct way to express the same check: users.allDistinctBy { it.age } // true users.allEqualBy { it.age } // false allDistinctBy returns false as soon as it finds a duplicate, so it doesn't need to process the entire collection or create a separate Set. allEqualBy does the opposite: it checks whether all elements produce the same value when passed through the selector. Both functions work with Iterable, Sequence, and arrays. They use structural equality. For floating-point values, they follow Double.equals semantics, so NaN is considered equal to NaN, while -0.0 is different from 0.0. They're still @ExperimentalStdlibApi, so you'll need to opt in before using them in production code. The underlying allDistinct() and allEqual() requests have also been around in YouTrack for quite a while, which makes their appearance in the standard library feel long overdue. Context-Sensitive Resolution: Less Repetition in when The second feature is more about syntax. When the compiler already knows the type you're working with, you can sometimes leave out the type qualifier. Before: enum class Problem {

## Build Setup: Targets, Source Sets and buildSrc for tvOS in a Compose Multiplatform Fork

DevFeed: [Build Setup: Targets, Source Sets and buildSrc for tvOS in a Compose Multiplatform Fork](<https://devfeed.tech/articles/build-setup-targets-source-sets-and-buildsrc-for-tvos-in-a-compose-multiplatform-fork-22943.md>)

Original publisher: [Read original article](<https://proandroiddev.com/build-setup-targets-source-sets-and-buildsrc-for-tvos-in-a-compose-multiplatform-fork-4d9caafa30a8?source=rss----c72404660798---4>)

Author: Sajid Ali

Published: 2026-09-14T04:24:43Z

Content type: tutorial

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [tvOS](<https://devfeed.tech/topics/tvos.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [build](<https://devfeed.tech/tags/build.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [source](<https://devfeed.tech/tags/source.md>)

### AI overview

This tutorial explains the build setup for adding tvOS support to a Compose Multiplatform fork. It covers Kotlin Multiplatform targets, source-set organization shared between iOS and tvOS, and the build-layer work used to identify missing modules and dependencies.

### Source excerpt

Compose Multiplatform on tvOS This series: Compose Multiplatform on tvOS My Journey Making Compose Multiplatform Work on tvOS, and What I Learned Build Setup: Targets, Source Sets and buildSrc for tvOS in a Compose Multiplatform Fork (this post) Rendering (coming soon) Siri Remote input (coming soon) Siri Remote trackpad (coming soon) Screen density and text input (coming soon) Porting tv-material (coming soon) The Gradle plugin and third-party libraries (coming soon) Maintaining the fork (coming soon) Building a real app on it (coming soon) Part 1 was why this fork exists. This one is the build layer, and it comes before any Compose code, because in Kotlin Multiplatform a target is not a flag you flip at the end. It decides which source sets compile, which dependencies resolve, which klibs get published, which linker flags get passed. Until the build knows about tvosArm64, nothing tells you what is missing. So the first commits were build files. Once the targets were on, the compiler listed what was missing, module by module, and I worked through that list. Source set layout on the tvos branch I started on a branch called tvos, based on upstream. Back then JetBrains called iOS "uikit" in this repository and the source set was uikitMain. Because tvOS is also UIKit underneath, it made sense to have a common source parent for both iOS and tvOS. But iOS was already being called uikit, so I chose uiKitCommonMain as the source set name and moved all the UIKit files there, keeping only the iOS specific files in uikitMain and putting the tvOS specific files in a new source set, tvosMain. The problem with this approach was how to keep up with upstream. I tried a symlink to the uikit source set, and then overriding the tvOS files in a separate target. The override worked but complicated the process. At that time my goal was to make it runnable on tvOS however possible, so we would have a proof of concept. So I did a lot of hacks in the tvos branch to make it runnable, and af

## Faster Starts, Less JavaScript Overhead

DevFeed: [Faster Starts, Less JavaScript Overhead](<https://devfeed.tech/articles/faster-starts-less-javascript-overhead-19531.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/startup-cost-before-first-paint/>)

Author: Shai Almog

Published: 2026-09-14T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>)

Tags: [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [profiling](<https://devfeed.tech/tags/profiling.md>)

### AI overview

The article describes startup-performance work in Codename One. It identifies launch delays caused by repeated screen-scale queries, theme scans, unnecessary synchronous dispatches, premature GC-park handshakes, and JavaScript suspension preparation. The fixes publish screen state atomically, avoid waiting when operations can proceed immediately, index theme keys, and improve instrumentation so profiling reveals hidden stalls.

### Source excerpt

Codename One removes native startup waits, repeated style scans, and unnecessary JavaScript suspension. Profiles and compiler benchmarks expose costs that bundle size and frame rates miss.

## Kotlin Explicit Backing Fields: Encapsulation Tradeoffs and Downcasting Risks

DevFeed: [Kotlin Explicit Backing Fields: Encapsulation Tradeoffs and Downcasting Risks](<https://devfeed.tech/articles/the-downcast-trap-in-kotlin-s-explicit-backing-fields-22951.md>)

Original publisher: [Read original article](<https://proandroiddev.com/the-downcast-trap-in-kotlins-explicit-backing-fields-626ef0d66e50?source=rss----c72404660798---4>)

Author: Ehab Elwan

Published: 2026-09-13T05:31:32Z

Content type: opinion

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Code](<https://devfeed.tech/topics/code.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [article](<https://devfeed.tech/tags/article.md>), [clean-code](<https://devfeed.tech/tags/clean-code.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [memory](<https://devfeed.tech/tags/memory.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [stateflow](<https://devfeed.tech/tags/stateflow.md>)

### AI overview

This article compares Kotlin's traditional private mutable property plus public read-only wrapper with explicit backing fields. It explains that explicit backing fields can avoid an extra wrapper allocation, but because the underlying object remains mutable, an external downcast may bypass the intended read-only restriction and mutate internal state.

### Source excerpt

Why eliminating the double-property boilerplate changes how we protect our architecture Image generated by AIDisclosure: This article was drafted by me and refined with the help of AI tools. If you have written Kotlin in the last few years, you are intimately familiar with the double-property boilerplate. Whether in Android ViewModels or general state holders, maintaining a private mutable property alongside a public read-only property is a chore we have all accepted in the name of strict encapsulation to prevent our internal state from being hijacked by outside classes. It makes the code significantly cleaner (and slightly more memory efficient). However, it fundamentally changes how we protect our state, moving from a physical object boundary to a simple type restriction. Let's look at the tradeoff. The Old Way: Wrapper Protection For years, the standard approach to encapsulating state has looked like this: class OldViewModel { // 1. The private mutable state private val _uiState = MutableStateFlow(UiState()) // 2. The public read-only state val uiState: StateFlow<UiState> = _uiState.asStateFlow() } This is tedious to write, but it provides a strict architectural guarantee. When you call .asStateFlow(), Kotlin does not just change the type; it creates a brand new wrapper object in memory (ReadonlyStateFlow). While this physical barrier is fantastic for safety, it does mean you are incurring a minor memory allocation overhead by creating a secondary wrapper object for every exposed state. The New Way: Upcasting Explicit Backing Fields allow you to merge these two properties into one concise declaration, bypassing that extra memory allocation entirely: class NewViewModel { val uiState: StateFlow<UiState> field = MutableStateFlow(UiState()) } Inside your class, the Kotlin compiler smart-casts the field so you can mutate it internally. Outside the class, the compiler restricts callers to the read-only StateFlow interface. It looks incredibly clean and saves an allocat

## HeyGen x Google Cloud: Bringing Avatar IV to TPUs

DevFeed: [HeyGen x Google Cloud: Bringing Avatar IV to TPUs](<https://devfeed.tech/articles/heygen-x-google-cloud-bringing-avatar-iv-to-tpus-4211.md>)

Original publisher: [Read original article](<https://developers.googleblog.com/heygen-x-google-cloud-bringing-avatar-iv-to-tpus/>)

Published: 2026-09-12T11:04:33.891311Z

Content type: article

Language: en

Sources: [Google Developers Blog](<https://devfeed.tech/sources/google-developers-blog.md>)

Topics: [Google](<https://devfeed.tech/topics/google.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [AI Infrastructure](<https://devfeed.tech/topics/ai-infrastructure.md>), [Transformer](<https://devfeed.tech/topics/transformer.md>), [PyTorch](<https://devfeed.tech/topics/pytorch.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-infrastructure](<https://devfeed.tech/tags/ai-infrastructure.md>), [api](<https://devfeed.tech/tags/api.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [generation](<https://devfeed.tech/tags/generation.md>), [google](<https://devfeed.tech/tags/google.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [model](<https://devfeed.tech/tags/model.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pytorch](<https://devfeed.tech/tags/pytorch.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [time](<https://devfeed.tech/tags/time.md>), [tpu](<https://devfeed.tech/tags/tpu.md>), [transformers](<https://devfeed.tech/tags/transformers.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

HeyGen and Google Cloud describe porting the 18B+ parameter Avatar IV talking-head video generation pipeline to an eight-chip Trillium TPU host. Using torchax, JAX, XLA, FSDP sharding, Ulysses sequence parallelism, and custom Pallas kernels, the team improved performance by 1.86x for real-time chunked streaming while preserving output quality through strict quality gates.

### Source excerpt

HeyGen ported their 18B+ parameter Avatar IV video generation model to Google Cloud's Trillium (v6e) TPUs via torchax and XLA, utilizing FSDP and Ulysses sequence parallelism across an eight-chip mesh. To achieve a 1.86x speedup for real-time streaming, the engineering team pipelined exposed all-to-all collectives, aligned sparse attention block sizes to eliminate mask padding, and bypassed softmax serial dependencies using a precomputed Cauchy-Schwarz upper bound. These custom Pallas kernel and compiler optimizations were deployed only after passing rigorous two-tier quality gates to guarantee byte-identical or mathematically equivalent pixel outputs.

## GCC 13.5 Released With 265+ Bug Fixes

DevFeed: [GCC 13.5 Released With 265+ Bug Fixes](<https://devfeed.tech/articles/gcc-13-5-released-with-265-bug-fixes-12402.md>)

Original publisher: [Read original article](<https://www.phoronix.com/news/GCC-13.5-Released>)

Author: Michael Larabel

Published: 2026-09-11T09:47:06Z

Content type: news

Language: en

Sources: [Phoronix](<https://devfeed.tech/sources/phoronix.md>)

Topics: [gcc](<https://devfeed.tech/topics/gcc.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [bug](<https://devfeed.tech/topics/bug.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [intel](<https://devfeed.tech/topics/intel.md>)

Tags: [amd](<https://devfeed.tech/tags/amd.md>), [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [desktop-linux](<https://devfeed.tech/tags/desktop-linux.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [intel](<https://devfeed.tech/tags/intel.md>), [linux-benchmarking](<https://devfeed.tech/tags/linux-benchmarking.md>), [linux-hardware-benchmarks](<https://devfeed.tech/tags/linux-hardware-benchmarks.md>), [linux-hardware-reviews](<https://devfeed.tech/tags/linux-hardware-reviews.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [linux-performance](<https://devfeed.tech/tags/linux-performance.md>), [linux-server-benchmarks](<https://devfeed.tech/tags/linux-server-benchmarks.md>), [open-source-graphics](<https://devfeed.tech/tags/open-source-graphics.md>), [phoronix](<https://devfeed.tech/tags/phoronix.md>), [phoronix-test-suite](<https://devfeed.tech/tags/phoronix-test-suite.md>), [production](<https://devfeed.tech/tags/production.md>), [release](<https://devfeed.tech/tags/release.md>), [ubuntu-benchmarks](<https://devfeed.tech/tags/ubuntu-benchmarks.md>), [ubuntu-hardware](<https://devfeed.tech/tags/ubuntu-hardware.md>)

### AI overview

GCC 13.5 has been released with more than 265 bug fixes. It is the final planned point release for the GCC 13 branch, which is now closed to further development.

### Source excerpt

For those continuing to rely on the GCC 13 compiler in production that debuted more than three years ago, GCC 13.5 released today with more than 265 bug fixes. GCC 13.5 also caps off the GCC 13 series as the last planned point release...

## Why is the x86 undefined instruction called ud2? Why 2?

DevFeed: [Why is the x86 undefined instruction called ud2? Why 2?](<https://devfeed.tech/articles/why-is-the-x86-undefined-instruction-called-ud2-why-2-21760.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/oldnewthing/20260910-00/?p=112689>)

Author: Raymond Chen

Published: 2026-09-10T14:00:00Z

Content type: article

Language: en

Sources: [Raymond Chen](<https://devfeed.tech/sources/raymond-chen.md>)

Topics: [x86](<https://devfeed.tech/topics/x86.md>), [Assembly](<https://devfeed.tech/topics/assembly.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [intel](<https://devfeed.tech/topics/intel.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [exception](<https://devfeed.tech/tags/exception.md>), [intel](<https://devfeed.tech/tags/intel.md>), [old-new-thing](<https://devfeed.tech/tags/old-new-thing.md>), [other](<https://devfeed.tech/tags/other.md>), [processor](<https://devfeed.tech/tags/processor.md>), [x86](<https://devfeed.tech/tags/x86.md>)

### AI overview

The article explains why the x86 undefined instruction is called ud2. It describes how software used byte sequences that reliably raised an invalid opcode exception, how Intel later provided a standardized instruction, and how compiler output can use it to mark unreachable code and cause a deliberate crash.

### Source excerpt

It came after ud0 and ud1. The post Why is the x86 undefined instruction called <CODE>ud2</CODE>? Why 2? appeared first on The Old New Thing.

## Koin Compiler 1.2: Compile-Time Safety for ALL Koin DSL

DevFeed: [Koin Compiler 1.2: Compile-Time Safety for ALL Koin DSL](<https://devfeed.tech/articles/koin-compiler-1-2-compile-time-safety-for-all-koin-dsl-22973.md>)

Original publisher: [Read original article](<https://blog.insert-koin.io/koin-compiler-1-2-compile-time-safety-for-all-koin-dsl-4603787b9921?source=rss----925561f2ecdf---4>)

Author: Arnaud Giuliani

Published: 2026-09-10T12:01:01Z

Content type: release

Language: en

Sources: [Koin developers - Medium](<https://devfeed.tech/sources/koin-developers-medium.md>)

Topics: [Compiler](<https://devfeed.tech/topics/compiler.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [koin](<https://devfeed.tech/tags/koin.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>)

### AI overview

Koin Compiler Plugin 1.2, with 1.2.1 as the latest patch, extends compile-time validation to Koin's reified, constructor, and classic lambda DSLs. It also adds visibility across Gradle modules, supports additional entry points, and provides one artifact for Kotlin 2.3.20 through 2.4.20 without requiring a DSL migration.

### Source excerpt

Hello, dear Koin community 👋 I'm happy to share that Koin Compiler Plugin 1.2 is out, with 1.2.1 already available as the latest patch. Developer mascott unboxing new Koin Features!TL;DR Compile-time validation now works on the Koin application you already have, where before 1.2 it only covered code written specifically for the compiler plugin. Koin DSL -- All now covered! All Koin DSL: the plugin's reified DSL, Koin's constructor DSL (singleOf(::T)), and the classic lambda DSL (single { Foo(get()) }). Across Gradle modules: definitions are now visible two or more implementation hops away. More entry points: Ktor's install(Koin) and KoinApplication.withConfiguration<T>(). One artifact for Kotlin 2.3.20 through 2.4.20. You get there with no migration to a new DSL, and nothing to rewrite. Let's go through what shipped. Covering now all Koin DSL Until now, compile-time safety only covered the plugin's own reified DSL, which means the two DSL styles you have most likely already written were invisible to it. val appModule = module { single<UserService>() // checked singleOf(::UserRepository) // not checked before 1.2 single { AnalyticsHelper(get()) } // not checked before 1.2 } Three ways to declare a definition, and only the first was validated. If your UserRepository needed a Database that no module provided, your build passed and Koin threw at runtime. In 1.2, all three are validated. The two DSL styles get there differently. For the constructor DSL, the referenced constructor's parameters become real requirements, exactly like single<T>(), and any named() qualifier you put on the registration is matched against the consumers that ask for it. The classic lambda DSL works differently. The plugin doesn't try to work out dependencies from free-form lambda code. What it validates instead are the get() calls you wrote inside the lambda, treated as ordinary resolution call sites. Before 1.2 those calls were skipped on purpose, because a hand-written get() is difficult to dis

## \[$\] Stabilizing Rust's never type

DevFeed: [\[$\] Stabilizing Rust's never type](<https://devfeed.tech/articles/stabilizing-rust-s-never-type-8491.md>)

Original publisher: [Read original article](<https://lwn.net/Articles/1091015/>)

Author: daroc

Published: 2026-09-08T13:34:38Z

Content type: article

Language: en

Sources: [LWN.net](<https://devfeed.tech/sources/lwn-net.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [change](<https://devfeed.tech/tags/change.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [error](<https://devfeed.tech/tags/error.md>), [function](<https://devfeed.tech/tags/function.md>), [maintainers](<https://devfeed.tech/tags/maintainers.md>), [optimize](<https://devfeed.tech/tags/optimize.md>), [rust](<https://devfeed.tech/tags/rust.md>)

### AI overview

The article explains Rust's never type, denoted by "!", and reports that it was stabilized after more than two years of work. It discusses the feature's practical benefits for optimizing generic code and its role in type inference, while noting a small breaking change to previous Rust editions.

### Source excerpt

A function's return type is supposed to indicate the kind of data that it produces. Rust's "never" type, which is denoted by an exclamation mark ("!"), is the type the language uses to mark a function that never returns and other places where a value can never occur. For a long time, the never type was used internally by the compiler, but was considered an unstable feature. On August 24, after more than two years of work, Rust-compiler-contributor "waffle" finally managed to stabilize the type. It took so long, in part, because it involved a small breaking change to previous Rust editions, which the compiler maintainers needed to ensure did not impact much real code.

## Anthropic Formalized Fermat's Last Theorem in Lean, Shifting the Verification Challenge

DevFeed: [Anthropic Formalized Fermat's Last Theorem in Lean, Shifting the Verification Challenge](<https://devfeed.tech/articles/the-question-was-already-written-40147.md>)

Original publisher: [Read original article](<https://korbonits.com/blog/2026-09-06-the-question-was-already-written/>)

Published: 2026-09-06T00:00:00Z

Content type: opinion

Language: en

Sources: [Alex Korbonits](<https://devfeed.tech/sources/alex-korbonits.md>)

Topics: [Lean](<https://devfeed.tech/topics/lean.md>), [anthropic](<https://devfeed.tech/topics/anthropic.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>)

Tags: [anthropic](<https://devfeed.tech/tags/anthropic.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [formalized](<https://devfeed.tech/tags/formalized.md>), [research](<https://devfeed.tech/tags/research.md>), [statement](<https://devfeed.tech/tags/statement.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

The article argues that Anthropic's machine-generated Lean proof of Fermat's Last Theorem changes the challenge from formalizing the theorem's statement to checking a very large proof artifact. It describes public build checks and an independent Rust-based Lean kernel re-check, while noting that the author has not read the patches used to complete that re-check.

### Source excerpt

Anthropic formalized Fermat's Last Theorem in Lean in eleven days. It is the frontier I said in May was untouched, and the first result in this series where nobody had to trust the statement. The problem that replaced it is that 13 million lines is more than anyone can read.

## Updates on HEIR, the homomorphic encryption compiler project

DevFeed: [Updates on HEIR, the homomorphic encryption compiler project](<https://devfeed.tech/articles/updates-on-heir-the-homomorphic-encryption-compiler-project-40496.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2026/09/04/updates-on-heir-homomorphic-encryption/>)

Published: 2026-09-04T18:53:40Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [homomorphic encryption](<https://devfeed.tech/topics/homomorphic-encryption.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [bazel](<https://devfeed.tech/topics/bazel.md>), [Kaggle](<https://devfeed.tech/topics/kaggle.md>)

Tags: [bazel](<https://devfeed.tech/tags/bazel.md>), [ckks](<https://devfeed.tech/tags/ckks.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [github](<https://devfeed.tech/tags/github.md>), [homomorphic-encryption](<https://devfeed.tech/tags/homomorphic-encryption.md>), [inference](<https://devfeed.tech/tags/inference.md>), [kaggle](<https://devfeed.tech/tags/kaggle.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [ml](<https://devfeed.tech/tags/ml.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

This companion article explains HEIR, a homomorphic encryption compiler that converts programs to operate directly on encrypted data. It discusses compiling pre-trained machine-learning models for private inference, describes the repository and setup, and reports an example involving encrypted credit-card fraud detection.

### Source excerpt

On 2026-08-14 I published an article on the Google Security blog with an update on HEIR, our homomorphic encryption (HE) compiler. This is a companion article, in which I have no limits on word count or jargon, and I can feel free to be honest. So strap in. Assuming you won't read the linked corporate blog post, HEIR is a compiler that converts an input program to a program that operates directly on encrypted data.

## TinyGo 0.42 adds support for 87 Puya PY32 MCU variants and two EmbedFire boards

DevFeed: [TinyGo 0.42 adds support for 87 Puya PY32 MCU variants and two EmbedFire boards](<https://devfeed.tech/articles/tinygo-0-42-adds-support-for-87-puya-py32-mcu-variants-and-two-embedfire-boards-14028.md>)

Original publisher: [Read original article](<https://www.cnx-software.com/2026/09/04/tinygo-0-42-adds-support-for-87-puya-py32-mcu-variants-and-two-embedfire-boards/>)

Author: Jean-Luc Aufranc (CNXSoft)

Published: 2026-09-04T04:33:53Z

Content type: news

Language: en

Sources: [CNX Software - Embedded Systems News](<https://devfeed.tech/sources/cnx-software-embedded-systems-news.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Microcontroller](<https://devfeed.tech/topics/microcontroller.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Arm](<https://devfeed.tech/topics/arm.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>)

Tags: [arm](<https://devfeed.tech/tags/arm.md>), [article](<https://devfeed.tech/tags/article.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [development](<https://devfeed.tech/tags/development.md>), [development-board](<https://devfeed.tech/tags/development-board.md>), [devices](<https://devfeed.tech/tags/devices.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [go](<https://devfeed.tech/tags/go.md>), [gpio](<https://devfeed.tech/tags/gpio.md>), [guest-post](<https://devfeed.tech/tags/guest-post.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [iot](<https://devfeed.tech/tags/iot.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [mcu](<https://devfeed.tech/tags/mcu.md>), [microcontrollers](<https://devfeed.tech/tags/microcontrollers.md>), [news](<https://devfeed.tech/tags/news.md>), [programming](<https://devfeed.tech/tags/programming.md>), [puya](<https://devfeed.tech/tags/puya.md>), [software-management](<https://devfeed.tech/tags/software-management.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

TinyGo 0.42 adds support for the Puya PY32 family of 32-bit Arm microcontrollers, covering 87 MCU configurations and two EmbedFire development boards. The port includes startup code, linker scripts, GPIO, UART, and generated device-register definitions.

### Source excerpt

CNXSoft: This is a guest post by Pavel Burgr, who recently added Puya PY32 MCU support to TinyGo 0.42, the latest version of the Go compiler for microcontrollers. We first covered TinyGo in 2019, and the project is still going strong with 17.7k stars, 1.1k forks, and 243 contributors. I just made a few edits and added illustrations and a few links to the article. TinyGo 0.42 adds support for the Puya PY32 family of 32-bit Arm microcontrollers. The new port includes startup code, generated device-register definitions, linker scripts, GPIO and UART support, and targets for 87 individual MCU configurations. It also includes board definitions for two inexpensive EmbedFire development boards available from AliExpress. The port was contributed by Pavel Burgr and merged through TinyGo pull request #5106. One motivation was to establish a solid, easy-to-use firmware platform for small IoT devices built around the Registry service and the BleRiot [...] The post TinyGo 0.42 adds support for 87 Puya PY32 MCU variants and two EmbedFire boards appeared first on CNX Software - Embedded Systems News.

## Amlogic A311Y3 Cortex-A78/A55 Edge AI system-on-module delivers up to 8 TOPS

DevFeed: [Amlogic A311Y3 Cortex-A78/A55 Edge AI system-on-module delivers up to 8 TOPS](<https://devfeed.tech/articles/amlogic-a311y3-cortex-a78-a55-edge-ai-system-on-module-delivers-up-to-8-tops-14021.md>)

Original publisher: [Read original article](<https://www.cnx-software.com/2026/09/03/amlogic-a311y3-cortex-a78-a55-edge-ai-system-on-module-delivers-up-to-8-tops/>)

Author: Jean-Luc Aufranc (CNXSoft)

Published: 2026-09-03T13:46:18Z

Content type: article

Language: en

Sources: [CNX Software - Embedded Systems News](<https://devfeed.tech/sources/cnx-software-embedded-systems-news.md>)

Topics: [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [SOC](<https://devfeed.tech/topics/soc.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [RISC-V](<https://devfeed.tech/topics/riscv.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Android](<https://devfeed.tech/topics/android.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [4g-lte](<https://devfeed.tech/tags/4g-lte.md>), [amlogic](<https://devfeed.tech/tags/amlogic.md>), [android](<https://devfeed.tech/tags/android.md>), [arm](<https://devfeed.tech/tags/arm.md>), [boardcon](<https://devfeed.tech/tags/boardcon.md>), [camera](<https://devfeed.tech/tags/camera.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cortex-a55](<https://devfeed.tech/tags/cortex-a55.md>), [cortex-a78](<https://devfeed.tech/tags/cortex-a78.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [development-board](<https://devfeed.tech/tags/development-board.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [display](<https://devfeed.tech/tags/display.md>), [edge-ai](<https://devfeed.tech/tags/edge-ai.md>), [edge-computing](<https://devfeed.tech/tags/edge-computing.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [linux](<https://devfeed.tech/tags/linux.md>), [npu](<https://devfeed.tech/tags/npu.md>), [opencl](<https://devfeed.tech/tags/opencl.md>), [risc-v](<https://devfeed.tech/tags/risc-v.md>), [rs485](<https://devfeed.tech/tags/rs485.md>), [som](<https://devfeed.tech/tags/som.md>), [specifications](<https://devfeed.tech/tags/specifications.md>), [vulkan](<https://devfeed.tech/tags/vulkan.md>)

### AI overview

The article examines Boardcon's CM311Y3 system-on-module, which uses the Amlogic A311Y3 octa-core SoC with Cortex-A78 and Cortex-A55 CPUs, an 8 TOPS NPU, LPDDR5 memory, eMMC storage, and interfaces for embedded applications. It also describes the module's development board, software support, and key specifications.

### Source excerpt

Boardcon CM311Y3 system-on-module (SoM) is powered by an Amlogic A311Y3 octa-core Cortex-A78/A55 SoC with an 8 TOPS NPU and targets 4K video surveillance systems, AI edge computing devices, interactive terminals, enterprise thin clients, and autonomous robots. The module comes with up to 16GB LPDDR5 and up to 256 GB eMMC flash, exposes 210 pins through castellated edges, and a development board is also provided for evaluation and early software development. We don't often see new SoMs or SBCs based on Amlogic SoCs these days, so let's have a closer look. Boardcon CM311Y3 System-on-Module CM311Y3 specifications: SoC - Amlogic A311Y3 CPU 2x ARM Cortex-A78 cores @ 2.4GHx 6x ARM Cortex-A55 cores @ 2.0GHz RISC-V core for system control processing RISC-V core for Always-on power management and Sensor Hub GPU - Arm Mali-G625 MC1 with support for OpenGL ES 3.2, Vulkan 1.4, and OpenCL 3.0 VPU Video Decoder - H.264 up to [...] The post Amlogic A311Y3 Cortex-A78/A55 Edge AI system-on-module delivers up to 8 TOPS appeared first on CNX Software - Embedded Systems News.

## Build Hints That Fail Before the Build Server

DevFeed: [Build Hints That Fail Before the Build Server](<https://devfeed.tech/articles/build-hints-that-fail-before-the-build-server-19265.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/compile-time-build-hints/>)

Author: Shai Almog

Published: 2026-09-02T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Compiler](<https://devfeed.tech/topics/compiler.md>), [Java](<https://devfeed.tech/topics/java.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [autocomplete](<https://devfeed.tech/tags/autocomplete.md>), [build](<https://devfeed.tech/tags/build.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [java](<https://devfeed.tech/tags/java.md>)

### AI overview

Codename One moves 87 common build hints into Java annotations so the compiler can catch misspelled names, incorrect value types, and unsupported options before builds reach the server. The change preserves the existing key-and-string format used by older projects and the build service.

### Source excerpt

Codename One now exposes 87 common build hints as Java annotations, giving the compiler enough information to reject misspelled names, wrong types, and unsupported values before a build reaches the server.

## Your First Virtual Machine: Write yourself a compiler, Part IV

DevFeed: [Your First Virtual Machine: Write yourself a compiler, Part IV](<https://devfeed.tech/articles/your-first-virtual-machine-write-yourself-a-compiler-part-iv-38040.md>)

Original publisher: [Read original article](<https://nurkiewicz.com/2026/08/your-first-virtual-machine-write-yourself-a-compiler.html>)

Published: 2026-08-24T22:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Nurkiewicz around Java and concurrency](<https://devfeed.tech/sources/tomasz-nurkiewicz-around-java-and-concurrency.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [arithmetic](<https://devfeed.tech/tags/arithmetic.md>), [bytecode](<https://devfeed.tech/tags/bytecode.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [feature](<https://devfeed.tech/tags/feature.md>), [go](<https://devfeed.tech/tags/go.md>), [interpreter](<https://devfeed.tech/tags/interpreter.md>), [reverse-polish-notation](<https://devfeed.tech/tags/reverse-polish-notation.md>), [stack](<https://devfeed.tech/tags/stack.md>), [virtual-machine](<https://devfeed.tech/tags/virtual-machine.md>), [vm](<https://devfeed.tech/tags/vm.md>), [writing-compiler](<https://devfeed.tech/tags/writing-compiler.md>)

### AI overview

This tutorial explains how to build a virtual machine that reads and executes a binary intermediate representation. It covers the instruction loop, operand stack, arithmetic operations, postfix notation, and how the resulting executable compares with JVM files and .NET assemblies.

### Source excerpt

In the previous article, we emitted an intermediate representation (IR) for our programming language that is easier to process than source code. However, we did not build a program that could read and execute that IR. Such a program is called a virtual machine. Technically, it's still an interpreter. But instead of interpreting source code, it interprets IR. Our IR is binary, compact, structured, and generally faster to interpret than the original source. Moreover, as you'll see later, the VM's instruction set can express programs that our source language cannot produce yet!

## Value Classes Still Need Compiler Sympathy

DevFeed: [Value Classes Still Need Compiler Sympathy](<https://devfeed.tech/articles/value-classes-still-need-compiler-sympathy-15126.md>)

Original publisher: [Read original article](<https://inside.java/2026/08/24/value-classes-compiler-sympathy/>)

Author: Johan Sjölén

Published: 2026-08-24T00:00:00Z

Content type: article

Language: en

Sources: [Inside Java](<https://devfeed.tech/sources/inside-java.md>)

Topics: [JDK 28](<https://devfeed.tech/topics/jdk-28.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [jdk-28](<https://devfeed.tech/tags/jdk-28.md>), [jep-401](<https://devfeed.tech/tags/jep-401.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [payload](<https://devfeed.tech/tags/payload.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [project-valhalla](<https://devfeed.tech/tags/project-valhalla.md>), [valhalla](<https://devfeed.tech/tags/valhalla.md>)

### AI overview

This article examines value classes as a preview feature in JDK 28 and explains how giving up object identity can enable JVM optimizations such as flattening and scalarization. It also describes limitations caused by representation changes, abstraction boundaries, mutability, and generic virtual calls.

### Source excerpt

Declaring a value class is first and foremost a semantic decision. It tells our fellow programmers that its instances are defined entirely by their state and do not need identity. That clearer model is valuable in itself! The JVM's additional freedom to optimize how those values are represented is a welcome bonus. C2 can do amazing things with that freedom, but it cannot always recover information hidden behind abstraction boundaries. Profiling and inspecting the generated code remain the best ways to understand what is happening. To get the best results, we may still need to have a little sympathy for the compiler.

## Rust Function Overloading - Call for Experimentation

DevFeed: [Rust Function Overloading - Call for Experimentation](<https://devfeed.tech/articles/rust-function-overloading-call-for-experimentation-15104.md>)

Original publisher: [Read original article](<https://blog.rust-lang.org/inside-rust/2026/08/19/overloading-experiment/>)

Author: teor

Published: 2026-08-19T00:00:00Z

Content type: release

Language: en

Sources: [Inside Rust Blog](<https://devfeed.tech/sources/inside-rust-blog.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [languages](<https://devfeed.tech/tags/languages.md>), [rust](<https://devfeed.tech/tags/rust.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

The Rust Project is experimenting with function and method overloading for FFI bindings through the incomplete nightly "splat" compiler feature. The experiment aims to assess implementation complexity and improve interoperability with C++, while its design may change or be removed.

### Source excerpt

In partnership with the Rust Foundation's Rust-C++ Interop Initiative, the Rust Project has been experimenting with function overloading for FFI bindings. This experiment is now at a stage where compiler and interop tool developers can start exploring function overloading. Stable Rust already supports a form of overloading using tuples and traits, but calling these overloaded functions looks strange, because the overloaded arguments have to be passed as a single tuple argument, like this: hypot((2.0, 3.0, 6.0)). Stable Rust also allows overloading of built-in operators with user-defined types, via traits like Add (the + operator) and Neg (the - value negation operator). We are running an unstable nightly Rust language experiment to answer questions like: How much overloading can we do with Rust's existing trait system? Could this help us call C++ from Rust ergonomically? In the tradition of yeet (to avoid bikeshedding), we are using basic syntax in the first stage of the experiment: the #[rustc_splat] attribute. Alternative syntaxes can be considered later, if the experiment generates useful outcomes. Experimental Function Overloading Rust nightly builds from 2026-07-31 onwards have experimental support for more ergonomic function and method overloading, using the incomplete "splat" compiler feature; if you're a compiler or interop tool developer, we encourage you to experiment with it! This experiment lets overloaded functions be called with separate arguments, like this: hypot(2.0, 3.0, 6.0). No double parentheses required! But type inference and type checking still happen as they would in a stable Rust overload. We are experimenting with splat to get a feel for the complexity of the implementation, and to see if it solves some language interoperability use cases. Like most Rust language experiments, this nightly feature has no RFC, and can change or be removed at any time. Experiment Design We expect the feature to change significantly in future, or to be replace

## Add the dependency graph to a Kotlin K2 migration checklist

DevFeed: [Add the dependency graph to a Kotlin K2 migration checklist](<https://devfeed.tech/articles/add-the-dependency-graph-to-a-kotlin-k2-migration-checklist-23961.md>)

Original publisher: [Read original article](<https://cloud-inject.io/notes/k2-migration-injection-graphs/>)

Published: 2026-08-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Koin - Cloud-Inject.io -Kotzilla](<https://devfeed.tech/sources/koin-cloud-inject-io-kotzilla.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [Android Gradle Plugin](<https://devfeed.tech/topics/android-gradle-plugin.md>), [Compose](<https://devfeed.tech/topics/compose.md>)

Tags: [android-gradle-plugin](<https://devfeed.tech/tags/android-gradle-plugin.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [compose](<https://devfeed.tech/tags/compose.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [graph](<https://devfeed.tech/tags/graph.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [migration](<https://devfeed.tech/tags/migration.md>), [rollback](<https://devfeed.tech/tags/rollback.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

A practical checklist for Kotlin K2 migrations in projects that generate or validate dependency wiring. It recommends mapping the compiler and build toolchain, upgrading from a known compatibility matrix, cleaning and inspecting generated output, verifying dependency graphs across flavors and targets, testing runtime slices, and keeping rollback changes coherent.

### Source excerpt

A K2 migration is usually planned around source compatibility and compiler diagnostics. Projects that generate or validate dependency wiring need another checklist: compiler plugin versions, generated sources, metadata compatibility, and graph verification on every target. Map the toolchain first Record the Kotlin plugin, Compose compiler plugin, KSP or annotation tooling, dependency-injection compiler plugin, Android Gradle plugin, and target libraries. Upgrade from a known matrix instead of selecting each latest version independently.

[Next page](<https://devfeed.tech/tags/compiler.md?cursor=WyIyMDI2LTA4LTE4VDAwOjAwOjAwKzAwOjAwIiwgImZkMDVlYWY5LWExMDUtNDcxNC1hYTg1LTA5YWVjZDhlNmE0YyJd>)