var test="trackertest";
var createJSBundleTrackerTest = function() {
	var o = {"jsTest": function() {
		return "JavaScript";
		}
	};
	return new JavaAdapter(Packages.org.eclipse.e4.languages.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; 
};