{"action":"created","issue":{"url":"https://api.github.com/repos/eclipse/openj9/issues/1646","repository_url":"https://api.github.com/repos/eclipse/openj9","labels_url":"https://api.github.com/repos/eclipse/openj9/issues/1646/labels{/name}","comments_url":"https://api.github.com/repos/eclipse/openj9/issues/1646/comments","events_url":"https://api.github.com/repos/eclipse/openj9/issues/1646/events","html_url":"https://github.com/eclipse/openj9/issues/1646","id":312692366,"node_id":"MDU6SXNzdWUzMTI2OTIzNjY=","number":1646,"title":"Enable a form of -Xshareclasses by default","user":{"login":"pshipton","id":18122812,"node_id":"MDQ6VXNlcjE4MTIyODEy","avatar_url":"https://avatars1.githubusercontent.com/u/18122812?v=4","gravatar_id":"","url":"https://api.github.com/users/pshipton","html_url":"https://github.com/pshipton","followers_url":"https://api.github.com/users/pshipton/followers","following_url":"https://api.github.com/users/pshipton/following{/other_user}","gists_url":"https://api.github.com/users/pshipton/gists{/gist_id}","starred_url":"https://api.github.com/users/pshipton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pshipton/subscriptions","organizations_url":"https://api.github.com/users/pshipton/orgs","repos_url":"https://api.github.com/users/pshipton/repos","events_url":"https://api.github.com/users/pshipton/events{/privacy}","received_events_url":"https://api.github.com/users/pshipton/received_events","type":"User","site_admin":false},"labels":[{"id":697962110,"node_id":"MDU6TGFiZWw2OTc5NjIxMTA=","url":"https://api.github.com/repos/eclipse/openj9/labels/comp:vm","name":"comp:vm","color":"1d76db","default":false},{"id":698099135,"node_id":"MDU6TGFiZWw2OTgwOTkxMzU=","url":"https://api.github.com/repos/eclipse/openj9/labels/perf","name":"perf","color":"5319e7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/eclipse/openj9/milestones/4","html_url":"https://github.com/eclipse/openj9/milestone/4","labels_url":"https://api.github.com/repos/eclipse/openj9/milestones/4/labels","id":3621381,"node_id":"MDk6TWlsZXN0b25lMzYyMTM4MQ==","number":4,"title":"Release 0.11.0","description":"","creator":{"login":"pshipton","id":18122812,"node_id":"MDQ6VXNlcjE4MTIyODEy","avatar_url":"https://avatars1.githubusercontent.com/u/18122812?v=4","gravatar_id":"","url":"https://api.github.com/users/pshipton","html_url":"https://github.com/pshipton","followers_url":"https://api.github.com/users/pshipton/followers","following_url":"https://api.github.com/users/pshipton/following{/other_user}","gists_url":"https://api.github.com/users/pshipton/gists{/gist_id}","starred_url":"https://api.github.com/users/pshipton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pshipton/subscriptions","organizations_url":"https://api.github.com/users/pshipton/orgs","repos_url":"https://api.github.com/users/pshipton/repos","events_url":"https://api.github.com/users/pshipton/events{/privacy}","received_events_url":"https://api.github.com/users/pshipton/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":0,"state":"open","created_at":"2018-09-04T15:48:17Z","updated_at":"2018-09-05T15:42:41Z","due_on":"2018-10-22T07:00:00Z","closed_at":null},"comments":23,"created_at":"2018-04-09T21:21:43Z","updated_at":"2018-09-05T15:43:01Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"A form of -Xshareclasses should be enabled by default in order to provide startup time and footprint advantages.\r\n\r\nThere are a number of factors to consider:\r\n\r\n1. what classloaders should be shared by default? -Xshareclasses enables URLClassLoader *and potentially subclasses of URLClassLoader* for class sharing. As we saw in #1244, the subclasses don't necessarily work, resulting in the JVM failing to start. Restricting to the bootstrap loader would resolve this, as would restricting to the bootstrap loader plus the application and extension (or platform) loaders. Given the application code and extension (or platform) code may be different from multiple JVM invocations, sharing only the bootstrap loader would be the safest option. \r\n\r\n1. what should the cache be called? The cache will be shared by every invocation of the JVM from the same user. The username should be part of the cache name, which it already is by default. The shared cache is automatically destroyed (when possible) and recreated when the \"unique id\" of the VM attaching to the cache is different from the \"unique id\" of the VM which created the cache. Using the \"unique id\" as the cache name will ensure that only identical builds of the JVM can shared the cache. (fyi #1645).\r\n\r\n1. what happens to abandoned default caches? Abandoned either because the JVM was updated, or the user added an explicit -Xshareclasses option. They will consume disk space, or on z/OS shared memory. There is an `-Xshareclasses:expire=<time in minutes>` option which destroys caches that haven't been used in the number of minutes specified. The VM could automatically destroy any default caches it finds which are unused for some period of time."},"comment":{"url":"https://api.github.com/repos/eclipse/openj9/issues/comments/418779208","html_url":"https://github.com/eclipse/openj9/issues/1646#issuecomment-418779208","issue_url":"https://api.github.com/repos/eclipse/openj9/issues/1646","id":418779208,"node_id":"MDEyOklzc3VlQ29tbWVudDQxODc3OTIwOA==","user":{"login":"DanHeidinga","id":8503711,"node_id":"MDQ6VXNlcjg1MDM3MTE=","avatar_url":"https://avatars2.githubusercontent.com/u/8503711?v=4","gravatar_id":"","url":"https://api.github.com/users/DanHeidinga","html_url":"https://github.com/DanHeidinga","followers_url":"https://api.github.com/users/DanHeidinga/followers","following_url":"https://api.github.com/users/DanHeidinga/following{/other_user}","gists_url":"https://api.github.com/users/DanHeidinga/gists{/gist_id}","starred_url":"https://api.github.com/users/DanHeidinga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanHeidinga/subscriptions","organizations_url":"https://api.github.com/users/DanHeidinga/orgs","repos_url":"https://api.github.com/users/DanHeidinga/repos","events_url":"https://api.github.com/users/DanHeidinga/events{/privacy}","received_events_url":"https://api.github.com/users/DanHeidinga/received_events","type":"User","site_admin":false},"created_at":"2018-09-05T15:43:01Z","updated_at":"2018-09-05T15:43:01Z","author_association":"CONTRIBUTOR","body":"Assigning this to milestone 0.11.0 based on discussions with @hangshao0 "}}
{"actor":{"display_login":"DanHeidinga"}}