Skip to content

Instantly share code, notes, and snippets.

@tlively
tlively / id.py
Created February 6, 2024 02:02
Update identifiers in wat tests
#! /usr/bin/python3
"""Ensure all identifiers match the supported format.
"""
import argparse
import glob
import os
import subprocess
import sys
@tlively
tlively / if.py
Created January 4, 2024 19:49
Automatically translate Binaryen's if expressions to standard format
#! /usr/bin/python3
"""Translate from the legacy if-else text syntax to the standard syntax
"""
import argparse
import glob
import os
import subprocess
import sys
@tlively
tlively / channels.html
Created February 1, 2023 19:44
Repro showing that relaying messages via a worker does not work in FireFox
<script>
console.log('Starting up');
var receiverCode = '(' + (() => {
console.log('Hello from receiver');
self.onmessage = (msg) => {
if (typeof msg.data === 'string') {
console.log('received from main:', msg.data);
} else {
@tlively
tlively / fs_bench.c
Last active February 27, 2023 23:22
#include <assert.h>
#include <fcntl.h>
#include <pthread.h>
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <unistd.h>
@tlively
tlively / j2wasm_application.wat
Created April 20, 2021 19:42
j2wasm_application.wat
This file has been truncated, but you can view the full file.
;;; Code generated by J2WASM
(module
(global $java.lang.Object.rtt (rtt 0 $java.lang.Object) (rtt.canon $java.lang.Object))
(global $TestRunner.rtt (rtt 1 $TestRunner) (rtt.sub $TestRunner (global.get $java.lang.Object.rtt)))
(global $java.beans.Beans.rtt (rtt 1 $java.beans.Beans) (rtt.sub $java.beans.Beans (global.get $java.lang.Object.rtt)))
(global $java.io.Writer.rtt (rtt 1 $java.io.Writer) (rtt.sub $java.io.Writer (global.get $java.lang.Object.rtt)))
(global $java.io.BufferedWriter.rtt (rtt 2 $java.io.BufferedWriter) (rtt.sub $java.io.BufferedWriter (global.get $java.io.Writer.rtt)))
(global $java.io.InputStream.rtt (rtt 1 $java.io.InputStream) (rtt.sub $java.io.InputStream (global.get $java.lang.Object.rtt)))
(global $java.io.ByteArrayInputStream.rtt (rtt 2 $java.io.ByteArrayInputStream) (rtt.sub $java.io.ByteArrayInputStream (global.get $java.io.InputStream.rtt)))
(global $java.io.OutputStream.rtt (rtt 1 $java.io.OutputStream) (rtt.sub $java.io.OutputStream (global.get $java.lang.Object.rtt)))
This file has been truncated, but you can view the full file.
;;; Code generated by J2WASM
(module
(global $java.lang.Object.rtt (rtt 0 $java.lang.Object) (rtt.canon $java.lang.Object))
(global $TestRunner.rtt (rtt 1 $TestRunner) (rtt.sub $TestRunner (global.get $java.lang.Object.rtt)))
(global $java.beans.Beans.rtt (rtt 1 $java.beans.Beans) (rtt.sub $java.beans.Beans (global.get $java.lang.Object.rtt)))
(global $java.io.Writer.rtt (rtt 1 $java.io.Writer) (rtt.sub $java.io.Writer (global.get $java.lang.Object.rtt)))
(global $java.io.BufferedWriter.rtt (rtt 2 $java.io.BufferedWriter) (rtt.sub $java.io.BufferedWriter (global.get $java.io.Writer.rtt)))
(global $java.io.InputStream.rtt (rtt 1 $java.io.InputStream) (rtt.sub $java.io.InputStream (global.get $java.lang.Object.rtt)))
(global $java.io.ByteArrayInputStream.rtt (rtt 2 $java.io.ByteArrayInputStream) (rtt.sub $java.io.ByteArrayInputStream (global.get $java.io.InputStream.rtt)))
(global $java.io.OutputStream.rtt (rtt 1 $java.io.OutputStream) (rtt.sub $java.io.OutputStream (global.get $java.lang.Object.rtt)))
@tlively
tlively / dfo-crash-reduced.wast
Last active April 14, 2019 06:40
binaryen #2008 reduced
(module
(type $0 (func (param i32 i32 i32 i32) (result i32)))
(import "env" "memory" (memory $1 16384))
(import "env" "table" (table $timport$2 176438 176438 funcref))
(import "env" "tableBase" (global $gimport$0 i32))
(func $0 (; 0 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(block $label$1
(block $label$2
(block $label$3
(br_table $label$2 $label$2 $label$2
@tlively
tlively / gist:6a333f9f88209fb79a18b34cdaff3534
Last active February 13, 2018 18:14
A buddy allocator test
// testing functions
static void log_freelists();
static bool validate_freelists();
static void get_freelist_lens(size_t lens[BLOCK_SIZES]);
// test_kalloc
// Run unit tests on the kalloc system.
void test_kalloc() {
assert(validate_freelists());
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#define N_ITEMS 10
/* Uncomment this section to use linked lists
typedef struct node
{
int val;
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#define N_ITEMS 10
/* Uncomment this section to use linked lists
typedef struct node
{
int val;