{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/4613","repository_url":"https://api.github.com/repos/Microsoft/ChakraCore","labels_url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/4613/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/4613/comments","events_url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/4613/events","html_url":"https://github.com/Microsoft/ChakraCore/pull/4613","id":292593323,"node_id":"MDExOlB1bGxSZXF1ZXN0MTY1ODQyODc2","number":4613,"title":"First steps to adding UTF8 strings","user":{"login":"MSLaguana","id":14098340,"node_id":"MDQ6VXNlcjE0MDk4MzQw","avatar_url":"https://avatars0.githubusercontent.com/u/14098340?v=4","gravatar_id":"","url":"https://api.github.com/users/MSLaguana","html_url":"https://github.com/MSLaguana","followers_url":"https://api.github.com/users/MSLaguana/followers","following_url":"https://api.github.com/users/MSLaguana/following{/other_user}","gists_url":"https://api.github.com/users/MSLaguana/gists{/gist_id}","starred_url":"https://api.github.com/users/MSLaguana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MSLaguana/subscriptions","organizations_url":"https://api.github.com/users/MSLaguana/orgs","repos_url":"https://api.github.com/users/MSLaguana/repos","events_url":"https://api.github.com/users/MSLaguana/events{/privacy}","received_events_url":"https://api.github.com/users/MSLaguana/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-01-29T23:03:43Z","updated_at":"2018-06-22T00:59:55Z","closed_at":"2018-06-22T00:59:55Z","author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/Microsoft/ChakraCore/pulls/4613","html_url":"https://github.com/Microsoft/ChakraCore/pull/4613","diff_url":"https://github.com/Microsoft/ChakraCore/pull/4613.diff","patch_url":"https://github.com/Microsoft/ChakraCore/pull/4613.patch"},"body":"This isn't is not yet intended to be the final state of this PR, but I'm interested in getting feedback early.\r\n\r\nThe intent here is to handle a common case of hosts, extracting utf8 strings from javascript. Currently we support this by repeatedly encoding from our internal utf16 representation to utf8 on demand. In cases where a string is not flat, this can involve first flattening the string to a utf16 buffer, and then converting that utf16 buffer into another utf8 buffer.\r\n\r\nWith the approach in this PR, we can avoid flattening strings via the use of `JavascriptString::Traverse` which invokes callbacks for each chunk of a string, in order.\r\n\r\nI plan to further improve things here by tracking whether strings are known to be 7bit ascii, and thus in the intersection of utf8 and utf16, and so we can improve length calculations."},"comment":{"url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/comments/399288302","html_url":"https://github.com/Microsoft/ChakraCore/pull/4613#issuecomment-399288302","issue_url":"https://api.github.com/repos/Microsoft/ChakraCore/issues/4613","id":399288302,"node_id":"MDEyOklzc3VlQ29tbWVudDM5OTI4ODMwMg==","user":{"login":"MSLaguana","id":14098340,"node_id":"MDQ6VXNlcjE0MDk4MzQw","avatar_url":"https://avatars0.githubusercontent.com/u/14098340?v=4","gravatar_id":"","url":"https://api.github.com/users/MSLaguana","html_url":"https://github.com/MSLaguana","followers_url":"https://api.github.com/users/MSLaguana/followers","following_url":"https://api.github.com/users/MSLaguana/following{/other_user}","gists_url":"https://api.github.com/users/MSLaguana/gists{/gist_id}","starred_url":"https://api.github.com/users/MSLaguana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MSLaguana/subscriptions","organizations_url":"https://api.github.com/users/MSLaguana/orgs","repos_url":"https://api.github.com/users/MSLaguana/repos","events_url":"https://api.github.com/users/MSLaguana/events{/privacy}","received_events_url":"https://api.github.com/users/MSLaguana/received_events","type":"User","site_admin":false},"created_at":"2018-06-22T00:59:55Z","updated_at":"2018-06-22T00:59:55Z","author_association":"MEMBER","body":"I think I'll split this into a few PRs; one to clean up the JSON string stuff, and one to add the utf8 string in a small way."}}
{"actor":{"display_login":"MSLaguana"}}