Lines Matching refs:code
38 def check_jump_targets(self, code):
39 instructions = list(dis.get_instructions(code))
59 def check_lnotab(self, code):
61 code = dis._get_code_object(code)
62 lnotab = list(dis.findlinestarts(code))
68 self.assertLess(max_bytecode, len(code.co_code))
92 code = compile(line, '', 'single')
93 self.assertInBytecode(code, cmp_op, invert)
94 self.check_lnotab(code)
142 code = compile(line,'','single')
143 self.assertInBytecode(code, elem)
144 self.assertNotInBytecode(code, 'BUILD_TUPLE')
145 self.assertNotInBytecode(code, 'UNPACK_SEQUENCE')
146 self.check_lnotab(code)
157 code = compile(line,'','single')
158 self.assertInBytecode(code, 'LOAD_CONST', elem)
159 self.assertNotInBytecode(code, 'BUILD_TUPLE')
160 self.check_lnotab(code)
163 code = compile(repr(tuple(range(10000))),'','single')
164 self.assertNotInBytecode(code, 'BUILD_TUPLE')
166 load_consts = [instr for instr in dis.get_instructions(code)
169 self.check_lnotab(code)
198 code = compile(line, '', 'single')
199 self.assertInBytecode(code, 'LOAD_CONST', elem)
200 self.assertNotInBytecode(code, 'BUILD_LIST')
201 self.check_lnotab(code)
213 code = compile(line, '', 'single')
214 self.assertNotInBytecode(code, 'BUILD_SET')
215 self.assertInBytecode(code, 'LOAD_CONST', elem)
216 self.check_lnotab(code)
218 # Ensure that the resulting code actually works:
253 code = compile(line, '', 'single')
254 self.assertInBytecode(code, 'LOAD_CONST', elem)
255 for instr in dis.get_instructions(code):
257 self.check_lnotab(code)
260 code = compile('a=2+"b"', '', 'single')
261 self.assertInBytecode(code, 'LOAD_CONST', 2)
262 self.assertInBytecode(code, 'LOAD_CONST', 'b')
263 self.check_lnotab(code)
266 code = compile('a="x"*10000', '', 'single')
267 self.assertInBytecode(code, 'LOAD_CONST', 10000)
268 self.assertNotIn("x"*10000, code.co_consts)
269 self.check_lnotab(code)
270 code = compile('a=1<<1000', '', 'single')
271 self.assertInBytecode(code, 'LOAD_CONST', 1000)
272 self.assertNotIn(1<<1000, code.co_consts)
273 self.check_lnotab(code)
274 code = compile('a=2**1000', '', 'single')
275 self.assertInBytecode(code, 'LOAD_CONST', 1000)
276 self.assertNotIn(2**1000, code.co_consts)
277 self.check_lnotab(code)
280 # valid code get optimized
281 code = compile('"foo"[0]', '', 'single')
282 self.assertInBytecode(code, 'LOAD_CONST', 'f')
283 self.assertNotInBytecode(code, 'BINARY_SUBSCR')
284 self.check_lnotab(code)
285 code = compile('"\u0061\uffff"[1]', '', 'single')
286 self.assertInBytecode(code, 'LOAD_CONST', '\uffff')
287 self.assertNotInBytecode(code,'BINARY_SUBSCR')
288 self.check_lnotab(code)
291 code = compile('"\U00012345"[0]', '', 'single')
292 self.assertInBytecode(code, 'LOAD_CONST', '\U00012345')
293 self.assertNotInBytecode(code, 'BINARY_SUBSCR')
294 self.check_lnotab(code)
296 # invalid code doesn't get optimized
298 code = compile('"fuu"[10]', '', 'single')
299 self.assertInBytecode(code, 'BINARY_SUBSCR')
300 self.check_lnotab(code)
312 code = compile(line, '', 'single')
313 self.assertInBytecode(code, 'LOAD_CONST', elem)
314 for instr in dis.get_instructions(code):
316 self.check_lnotab(code)
332 code = compile(line, '', 'single')
333 self.assertInBytecode(code, 'LOAD_CONST', elem)
334 self.assertInBytecode(code, opname)
335 self.check_lnotab(code)
423 # Eliminate dead code: jumps immediately after returns can't be reached
463 code = compile(e, '', 'single')
464 for instr in dis.get_instructions(code):
468 self.check_lnotab(code)
621 code = compile_pattern_with_fast_locals(pattern)
622 self.assertNotInBytecode(code, "SWAP")
635 code = compile_pattern_with_fast_locals(pattern)
636 self.assertNotInBytecode(code, "SWAP")
645 code = compile_pattern_with_fast_locals(pattern)
649 self.assertInBytecode(code, "SWAP")
651 self.assertNotInBytecode(code, "SWAP")