Skip to content

Instantly share code, notes, and snippets.

View rednaxelafx's full-sized avatar

Kris Mok rednaxelafx

View GitHub Profile

Building MLVM version of OpenJDK (Java 1.8) on Mac OS X

Take a look at the comments and code in update.sh.

Requires a working version of Java 1.8.

I use create_tarball.sh to make a copy of the build to share.

OpenJDK 1.7 builds for Mac OS X:

@authorNari
authorNari / gist:875822
Created March 18, 2011 09:36
CRuby's Parallel Marking (Draft)
CRuby's Parallel Marking (Draft)(Ja)
ソースコード: https://github.com/authorNari/ruby
※まだ実装中
1 Abstract
並列スレッドの仕事分配には「Arora's Task Stealing Deque」のアルゴリズムを利用する。
http://doi.acm.org/10.1145/277651.277678
また、並列マークの実装の大部分はOpenJDK7のコードを参考に独自改良したものである。
let inline name (x : ^T) = (^T : (member Name : string) (x))
let inline age (x : ^T) = (^T : (member Age : int) (x))
let inline nameAndAge x = (name x, age x)
type Person(name : string, age : int) =
member __.Name = name
member __.Age = age
type Employee(name : string, age : int, employeeId : string) =
member __.Name = name
@headius
headius / build.sh
Created August 16, 2011 02:27
Building the Hotspot compiler team's Hotspot branch alone
#!/bin/sh
# This script is for building the hsx/hotspot-comp branch in isolation.
#
# Prerequisites:
# * appropriate build tools
# * a working Sun Java 6 build (i.e. JDK6) is available at:
# HOME/java/re/j2se/1.6.0/latest/binaries/linux-[i586/amd64]
# * a working Sun Java 7 build (i.e. JDK7) is available at:
# HOME/java/re/j2se/1.7.0/latest/binaries/linux-[i586/amd64]
# HOME/java/re/j2se/1.7.0/promoted/latest/binaries/linux-[i586/amd64]
@ytoshima
ytoshima / interp.dump.txt
Created October 22, 2011 01:06
A gdb macro which dumps java7 HotSpot JVM linux/32-bit interpreter codelets and an output
AbstractInterpreter::_code : StubQueue * = 0xb49150c0
_stub_buffer : 0xb6f7a6c0
_number_of_stubs: 0x103
Codelet @ 0xb6f7a6c0 128 -1 0xffffffff 0x10c81a1: "slow signature handler"
Dump of assembler code from 0xb6f7a6e0 to 0xb6f7a740:
0xb6f7a6e0: mov %esp,%ecx
0xb6f7a6e2: call 0xb6f7a6ec
0xb6f7a6e7: jmp 0xb6f7a73f
0xb6f7a6ec: push %ecx
0xb6f7a6ed: push %edi

CRubyのGCの構造改革

やりたいこと

以下の6つの機能を分離し、簡単に切り替えられるようにしたい。

  1. OSからのメモリアロケータ
  • OSからメモリアロケートする部分のAPI
  1. Rubyのヒープ管理
  • ヒープの設定を保持
@Ninputer
Ninputer / gist:2967888
Created June 21, 2012 19:12 — forked from anonymous/gist:2967637
.NET 4.5 Disassembly
Program:
class Program
{
string myString;
private Program()
{
myString = "foo";
}
@stefmoon
stefmoon / hs_err_pid13265.log
Last active December 11, 2015 12:48
A crash log made by myself to show the bug: http://bugs.sun.com/view_bug.do?bug_id=6964776
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f943ff492ad, pid=13265, tid=1116805440
#
# JRE version: 6.0_32-b05
# Java VM: OpenJDK (Taobao) 64-Bit Server VM (20.0-b12-internal mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J java.lang.Object.<init>()V
#
anonymous
anonymous / gist:878653
Created March 20, 2011 20:37
import java.util.Collections
import java.util.ArrayList
list = ArrayList.new [ "one", "two", "three", "four" ]
puts "unsorted: #{list}"
Collections.sort(list) do |s1, s2|
l1 = dynamic(s1).length
l2 = dynamic(s2).length
anonymous
anonymous / gist:1108283
Created July 26, 2011 22:47
package com.headius.indy.examples;
import java.lang.invoke.MethodHandle;
import static java.lang.invoke.MethodHandles.*;
import static java.lang.invoke.MethodType.*;
import java.lang.invoke.MutableCallSite;
public class IndyLoop {
public static void main(String[] args) throws Throwable {
// method handle loop adds up numbers from 1 to args[0].to_i