[Dynamo] Fix guards for code objects (#120909)
By comparing them only by id, and raising an assert if someone calls into `EQUALS_MATCH`
Which render following example compileable:
```python
import torch
@torch.compile()
def foo(x, y):
code = compile(y, "foo", "exec")
exec(y)
return x
print(foo(torch.rand(3), "print('Hello World')"))
```
Fixes https://github.com/pytorch/pytorch/issues/120647
Pull Request resolved: https://github.com/pytorch/pytorch/pull/120909
Approved by: https://github.com/jansel