var test="trackertest";
var createJSBundleTrackerTest = function() {
	var o = {"jsTest": function() {
		return "JavaScript";
		}
	};
	return new JavaAdapter(Packages.org.eclipse.e4.javascript.test.JSBundleTrackerTest, o);
}

function fib(n) {
	if (n < 3)
		return 1;
	else
		return fib (n - 1) + fib (n - 2);
};

function bench(n) {
	var startTime = new Date().getTime(); 
	var i;
	for (i=0; i < n; ++i) {
		fib(12);
	}
	var stopTime = new Date().getTime(); 
	return stopTime - startTime; 
};