{"action":"created","issue":{"url":"https://api.github.com/repos/mozilla/j2me.js/issues/1037","labels_url":"https://api.github.com/repos/mozilla/j2me.js/issues/1037/labels{/name}","comments_url":"https://api.github.com/repos/mozilla/j2me.js/issues/1037/comments","events_url":"https://api.github.com/repos/mozilla/j2me.js/issues/1037/events","html_url":"https://github.com/mozilla/j2me.js/issues/1037","id":56486098,"number":1037,"title":"Investigate running J2ME Apps without array bounds and store checks.","user":{"login":"mbebenita","id":311082,"avatar_url":"https://avatars.githubusercontent.com/u/311082?v=3","gravatar_id":"","url":"https://api.github.com/users/mbebenita","html_url":"https://github.com/mbebenita","followers_url":"https://api.github.com/users/mbebenita/followers","following_url":"https://api.github.com/users/mbebenita/following{/other_user}","gists_url":"https://api.github.com/users/mbebenita/gists{/gist_id}","starred_url":"https://api.github.com/users/mbebenita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbebenita/subscriptions","organizations_url":"https://api.github.com/users/mbebenita/orgs","repos_url":"https://api.github.com/users/mbebenita/repos","events_url":"https://api.github.com/users/mbebenita/events{/privacy}","received_events_url":"https://api.github.com/users/mbebenita/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mozilla/j2me.js/labels/perf","name":"perf","color":"000000"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-02-04T06:29:47Z","updated_at":"2015-04-16T01:04:06Z","closed_at":null,"body":"Array bounds checks and array store checks in particular can be slow. In #996 I've introduced the notion of privileged classes. The compiled code for these classes doesn't include bounds / store checks. Most applications will run correctly if array checks are ignored, so it may be interesting to investigate if we can get away with running midlets without array checks.\r\n\r\nIf disabling array checks doesn't work in the general case, we can just disable them for a set of frequently called methods / classes."},"comment":{"url":"https://api.github.com/repos/mozilla/j2me.js/issues/comments/93609520","html_url":"https://github.com/mozilla/j2me.js/issues/1037#issuecomment-93609520","issue_url":"https://api.github.com/repos/mozilla/j2me.js/issues/1037","id":93609520,"user":{"login":"mbebenita","id":311082,"avatar_url":"https://avatars.githubusercontent.com/u/311082?v=3","gravatar_id":"","url":"https://api.github.com/users/mbebenita","html_url":"https://github.com/mbebenita","followers_url":"https://api.github.com/users/mbebenita/followers","following_url":"https://api.github.com/users/mbebenita/following{/other_user}","gists_url":"https://api.github.com/users/mbebenita/gists{/gist_id}","starred_url":"https://api.github.com/users/mbebenita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbebenita/subscriptions","organizations_url":"https://api.github.com/users/mbebenita/orgs","repos_url":"https://api.github.com/users/mbebenita/repos","events_url":"https://api.github.com/users/mbebenita/events{/privacy}","received_events_url":"https://api.github.com/users/mbebenita/received_events","type":"User","site_admin":false},"created_at":"2015-04-16T01:04:06Z","updated_at":"2015-04-16T01:04:06Z","body":"I tried disabling bounds checks in the SHA256 benchmark and I got a nearly 39% perf gain. So this needs to be investigated further. "}}