lib/coverage_apply.js
function countLabel() {
		var ret;
		if (this[0].start && analyzing.indexOf(this) < 0) {
			var content = this[2];

			if (content[0].name == "for" && content[4] && content[4].name != "block") {
				content[4] = [ "block", [content[4]]];
			}
			analyzing.push(content);

			var ret = countLine.call(this);

			analyzing.pop(content);
		}
		return ret;
	}
function countLabel() {
		var ret;
		if (this[0].start && analyzing.indexOf(this) < 0) {
			var content = this[2];

			if (content[0].name == "for" && content[4] && content[4].name != "block") {
				content[4] = [ "block", [content[4]]];
			}
			analyzing.push(content);

			var ret = countLine.call(this);

			analyzing.pop(content);
		}
		return ret;
	}
Label nodes need special treatment as well.

myLabel : for (;;) {
//whateveer code here
continue myLabel
}

Label can be wrapped by countLine, hovewer the subsequent for shouldn't be wrapped.

instrumentation("label");
mylabel : instrumentation("for")
for (;;) {}

The above code would be wrong.

This function makes sure that the 'for' after a label is not instrumented and that
the 'for' content is wrapped in a block.

I'm don't think it's reasonable to use labels with something that is not a 'for' block.
In that case the instrumented code might easily break.