All Projects → maekawatoshiki → Ferrugo

maekawatoshiki / Ferrugo

Licence: mit
Ferrugo is a JVM implementation written in Rust

Programming Languages

java
68154 projects - #9 most used programming language
rust
11053 projects

Labels

Projects that are alternatives of or similar to Ferrugo

go-jdk
Run JVM-based code in Go efficiently
Stars: ✭ 61 (-77.57%)
Mutual labels:  jvm
kotlin-graalvm-custom-aws-lambda-runtime-talk
This is the demo code for a talk on improving cold startup times for JVM-based lambdas using GraalVM and Custom AWS Lambda Runtimes.
Stars: ✭ 24 (-91.18%)
Mutual labels:  jvm
arquillian-container-was
Arquillian WebSphere Containers
Stars: ✭ 18 (-93.38%)
Mutual labels:  jvm
mapneat
MapNeat is a JVM library written in Kotlin that provides an easy to use DSL (Domain Specific Language) for transforming JSON to JSON, XML to JSON, POJO to JSON in a declarative way.
Stars: ✭ 45 (-83.46%)
Mutual labels:  jvm
play-scala-secure-session-example
An example Play application showing encrypted session management
Stars: ✭ 54 (-80.15%)
Mutual labels:  jvm
KotlinSchool
Kotlin School with Kotlin Programming Tutorial
Stars: ✭ 26 (-90.44%)
Mutual labels:  jvm
sbt-jni
SBT Plugin to ease working with JNI
Stars: ✭ 110 (-59.56%)
Mutual labels:  jvm
Monorepo Starter
Monorepo starter project for Kotlin, Python, TypeScript x React
Stars: ✭ 255 (-6.25%)
Mutual labels:  jvm
jvm
simple java virtual machine
Stars: ✭ 53 (-80.51%)
Mutual labels:  jvm
blog
日常工作中使用的技术沉淀+学习记录
Stars: ✭ 41 (-84.93%)
Mutual labels:  jvm
jaz
A JVM implementation in Zig!
Stars: ✭ 44 (-83.82%)
Mutual labels:  jvm
JNotes
Java 工程师必备的技术知识点,全力打造Java 程序员的技能体系知识库;主要体现在 Java 基础、算法、网络、后端框架、数据库、操作系统等方面知识整理。对于Java 初学者升中高级、以及Java后端开发人员的的面试者都有非常显著的帮助。个人博客:www.husycode.cn
Stars: ✭ 33 (-87.87%)
Mutual labels:  jvm
lagom-samples
developer.lightbend.com/start/?group=lagom
Stars: ✭ 85 (-68.75%)
Mutual labels:  jvm
secrets.clj
A library designed to generate cryptographically strong random numbers.
Stars: ✭ 64 (-76.47%)
Mutual labels:  jvm
clodl
Turn dynamically linked ELF binaries and libraries into self-contained closures.
Stars: ✭ 136 (-50%)
Mutual labels:  jvm
play-java-ebean-example
Example Play application showing Java with Ebean
Stars: ✭ 54 (-80.15%)
Mutual labels:  jvm
lambda-string
Lambda-string (LS) is a helping java agent that inject configurable toString method into lambdas with some useful meta-information.
Stars: ✭ 34 (-87.5%)
Mutual labels:  jvm
Bistoury
Bistoury是去哪儿网的java应用生产问题诊断工具,提供了一站式的问题诊断方案
Stars: ✭ 3,198 (+1075.74%)
Mutual labels:  jvm
JBWAPI
Pure Java BWAPI Client implementation for JVM languages
Stars: ✭ 16 (-94.12%)
Mutual labels:  jvm
yarrow
[yarrow] JVMCI based optimizing compiler for HotSpot VM
Stars: ✭ 21 (-92.28%)
Mutual labels:  jvm

Ferrugo

CircleCI codecov

Ferrugo is a JVM implementation written in Rust.

This is now just a toy project (for me/you to learn how it works).

Current Status

  • Able to run some classfiles. see ./examples/(Hello|BigInt|SmallPT).class
  • Partly support for JIT compiling powered by LLVM
  • Aiming readable code (this is the hardest, yes)

Building from Source

Building on Linux

  1. Install Rust

Run the command below and follow the onscreen instructions.

curl https://sh.rustup.rs -sSf | sh
  1. Use Rust Nightly
rustup override set nightly
  1. Install dependencies
  • LLVM 6.0
  • (Other packages as necessary...)
# e.g. Ubuntu or Debian
apt-get install llvm-6.0
  1. Test
cargo test
  1. Build and Run
cargo run --release examples/Hello.class

Building on other platforms

I don't know. Maybe almost the same as Linux.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].