No need to emit co_lnotab item when both offsets are zeros.
r60579 broke a test test_compile, which seems to test an "implementation detail" IMO.

Also test that this correction does not impact the debugger.
diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py
index 64dca9f..ab47431 100644
--- a/Lib/test/test_trace.py
+++ b/Lib/test/test_trace.py
@@ -352,6 +352,15 @@
              (3, 'line'),
              (3, 'return')])
 
+    def test_16_blank_lines(self):
+        exec("def f():\n" + "\n" * 256 + "    pass")
+        self.run_and_compare(
+            f,
+            [(0, 'call'),
+             (257, 'line'),
+             (257, 'return')])
+
+
 class RaisingTraceFuncTestCase(unittest.TestCase):
     def trace(self, frame, event, arg):
         """A trace function that raises an exception in response to a
diff --git a/Python/compile.c b/Python/compile.c
index 6df09dc..4dfc42d 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -4191,6 +4191,9 @@
 	assert(d_bytecode >= 0);
 	assert(d_lineno >= 0);
 
+	if(d_bytecode == 0 && d_lineno == 0)
+		return 1;
+
 	if (d_bytecode > 255) {
 		int j, nbytes, ncodes = d_bytecode / 255;
 		nbytes = a->a_lnotab_off + 2 * ncodes;