Skip to content

Instantly share code, notes, and snippets.

@stepancheg
Created August 22, 2012 18:56
Show Gist options
  • Save stepancheg/3428355 to your computer and use it in GitHub Desktop.
Save stepancheg/3428355 to your computer and use it in GitHub Desktop.
import printer.*;
private external backtrace(array:Pointer[RawPointer], size:Int) : Int;
record Backtrace (
callstack: Array[RawPointer, 128],
);
showBacktraceMine() {
var bt = Backtrace();
backtrace(begin(bt.callstack), 128);
//var a = Array[RawPointer, 128]();
//backtrace(begin(a), 128);
return bt;
}
overload errorWithPrintfNoThrow(..a) {
showBacktraceMine();
}
quickSort(a) {
sortRange(a, SizeT(0), size(a));
}
sortRange(a, start, end) {
if (start+1 < end) {
swap(a[start], a[start + 1]);
range(start+1, end);
sortRange(a, start+1, end);
}
}
main() {
var a = Array[Int, 1000]();
quickSort(a);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment