JSIR -- an intermediate representation for JavaScript analysis