mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-12 00:37:19 +00:00
moar stuff
This commit is contained in:
@@ -35,14 +35,6 @@ cfg_if! {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
pub fn rust_wasm_syscall(index: usize, _data: *mut ()) -> usize {
|
|
||||||
if index == 6 {
|
|
||||||
1
|
|
||||||
} else {
|
|
||||||
0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
pub fn doit() -> u32 {
|
pub fn doit() -> u32 {
|
||||||
let start = Instant::now();
|
let start = Instant::now();
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
extern crate wasm_bindgen;
|
extern crate wasm_bindgen;
|
||||||
|
|
||||||
use wasm_bindgen::prelude::*;
|
use wasm_bindgen::prelude::*;
|
||||||
use std::time::{Instant};
|
use std::thread::spawn;
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
pub fn doit() -> u32 {
|
pub fn doit() {
|
||||||
let start = Instant::now();
|
// let child = spawn(move || -> u32 {
|
||||||
start.elapsed().as_secs() as u32
|
// 5
|
||||||
|
// });
|
||||||
|
// let result = child.join().unwrap();
|
||||||
|
let result = spawn();
|
||||||
|
println!("Result: {}", result);
|
||||||
}
|
}
|
||||||
|
|||||||
47
codecs/oxipng/tmp/lol.js
Normal file
47
codecs/oxipng/tmp/lol.js
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
// const oxipng = require("./oxipng_wasm");
|
||||||
|
const repl = require("repl");
|
||||||
|
const fs = require("fs");
|
||||||
|
|
||||||
|
const dec = new TextDecoder();
|
||||||
|
let buffer = '';
|
||||||
|
async function init() {
|
||||||
|
const { instance } = await WebAssembly.instantiate(
|
||||||
|
fs.readFileSync("./target/wasm32-unknown-unknown/release/loltest.wasm"),
|
||||||
|
{
|
||||||
|
__wbindgen_placeholder__: {
|
||||||
|
__wbindgen_describe(v) {
|
||||||
|
console.log(`__wbindgen_desribe(${v})`);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
env: {
|
||||||
|
// See https://github.com/rust-lang/rust/blob/master/src/libstd/sys/wasm/mod.rs
|
||||||
|
rust_wasm_syscall(syscall, ptr) {
|
||||||
|
switch(syscall) {
|
||||||
|
case 1: // Write
|
||||||
|
const [fd, dataPtr, len] = new Uint32Array(instance.exports.memory.buffer, ptr, 3 * 4);
|
||||||
|
const fragment = new Uint8Array(instance.exports.memory.buffer, dataPtr, len);
|
||||||
|
buffer += dec.decode(fragment);
|
||||||
|
const idx = buffer.indexOf('\n');
|
||||||
|
if(idx !== -1) {
|
||||||
|
console.log(buffer.slice(0, idx));
|
||||||
|
buffer = buffer.slice(idx);
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
case 6: // Time
|
||||||
|
return 1;
|
||||||
|
default:
|
||||||
|
return 0; // False, unimplemented
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
try {
|
||||||
|
instance.exports.doit();
|
||||||
|
} catch{}
|
||||||
|
const r = repl.start("node> ");
|
||||||
|
r.context.i = instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
init();
|
||||||
1737
codecs/oxipng/tmp/thread_mod.rs
Normal file
1737
codecs/oxipng/tmp/thread_mod.rs
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user