{"action":"created","issue":{"url":"https://api.github.com/repos/Samsung/jerryscript/issues/88","repository_url":"https://api.github.com/repos/Samsung/jerryscript","labels_url":"https://api.github.com/repos/Samsung/jerryscript/issues/88/labels{/name}","comments_url":"https://api.github.com/repos/Samsung/jerryscript/issues/88/comments","events_url":"https://api.github.com/repos/Samsung/jerryscript/issues/88/events","html_url":"https://github.com/Samsung/jerryscript/issues/88","id":78939468,"number":88,"title":"Add configuration option for disabling selected built-in objects.","user":{"login":"egavrin","id":782710,"avatar_url":"https://avatars.githubusercontent.com/u/782710?v=3","gravatar_id":"","url":"https://api.github.com/users/egavrin","html_url":"https://github.com/egavrin","followers_url":"https://api.github.com/users/egavrin/followers","following_url":"https://api.github.com/users/egavrin/following{/other_user}","gists_url":"https://api.github.com/users/egavrin/gists{/gist_id}","starred_url":"https://api.github.com/users/egavrin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/egavrin/subscriptions","organizations_url":"https://api.github.com/users/egavrin/orgs","repos_url":"https://api.github.com/users/egavrin/repos","events_url":"https://api.github.com/users/egavrin/events{/privacy}","received_events_url":"https://api.github.com/users/egavrin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Samsung/jerryscript/labels/api","name":"api","color":"bfd4f2"},{"url":"https://api.github.com/repos/Samsung/jerryscript/labels/ecma%20core","name":"ecma core","color":"bfd4f2"},{"url":"https://api.github.com/repos/Samsung/jerryscript/labels/enhancement","name":"enhancement","color":"009800"},{"url":"https://api.github.com/repos/Samsung/jerryscript/labels/normal","name":"normal","color":"fef2c0"}],"state":"closed","locked":false,"assignee":{"login":"egavrin","id":782710,"avatar_url":"https://avatars.githubusercontent.com/u/782710?v=3","gravatar_id":"","url":"https://api.github.com/users/egavrin","html_url":"https://github.com/egavrin","followers_url":"https://api.github.com/users/egavrin/followers","following_url":"https://api.github.com/users/egavrin/following{/other_user}","gists_url":"https://api.github.com/users/egavrin/gists{/gist_id}","starred_url":"https://api.github.com/users/egavrin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/egavrin/subscriptions","organizations_url":"https://api.github.com/users/egavrin/orgs","repos_url":"https://api.github.com/users/egavrin/repos","events_url":"https://api.github.com/users/egavrin/events{/privacy}","received_events_url":"https://api.github.com/users/egavrin/received_events","type":"User","site_admin":false},"assignees":[{"login":"egavrin","id":782710,"avatar_url":"https://avatars.githubusercontent.com/u/782710?v=3","gravatar_id":"","url":"https://api.github.com/users/egavrin","html_url":"https://github.com/egavrin","followers_url":"https://api.github.com/users/egavrin/followers","following_url":"https://api.github.com/users/egavrin/following{/other_user}","gists_url":"https://api.github.com/users/egavrin/gists{/gist_id}","starred_url":"https://api.github.com/users/egavrin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/egavrin/subscriptions","organizations_url":"https://api.github.com/users/egavrin/orgs","repos_url":"https://api.github.com/users/egavrin/repos","events_url":"https://api.github.com/users/egavrin/events{/privacy}","received_events_url":"https://api.github.com/users/egavrin/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Samsung/jerryscript/milestones/3","html_url":"https://github.com/Samsung/jerryscript/milestones/Maintenance%20of%20ECMA%20functionality","labels_url":"https://api.github.com/repos/Samsung/jerryscript/milestones/3/labels","id":1188988,"number":3,"title":"Maintenance of ECMA functionality","description":"","creator":{"login":"egavrin","id":782710,"avatar_url":"https://avatars.githubusercontent.com/u/782710?v=3","gravatar_id":"","url":"https://api.github.com/users/egavrin","html_url":"https://github.com/egavrin","followers_url":"https://api.github.com/users/egavrin/followers","following_url":"https://api.github.com/users/egavrin/following{/other_user}","gists_url":"https://api.github.com/users/egavrin/gists{/gist_id}","starred_url":"https://api.github.com/users/egavrin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/egavrin/subscriptions","organizations_url":"https://api.github.com/users/egavrin/orgs","repos_url":"https://api.github.com/users/egavrin/repos","events_url":"https://api.github.com/users/egavrin/events{/privacy}","received_events_url":"https://api.github.com/users/egavrin/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":221,"state":"open","created_at":"2015-07-01T13:20:58Z","updated_at":"2016-08-29T18:03:40Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-05-21T10:46:16Z","updated_at":"2016-08-29T18:03:40Z","closed_at":"2016-08-29T18:03:40Z","body":"To improve the configurability of the engine it's needed to provide build time flags for disabling selected built-ins.\r\n\r\nCompact profile has possibility for this:\r\n```\r\n#ifdef CONFIG_ECMA_COMPACT_PROFILE\r\n// #define CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN\r\n// #define CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN\r\n// #define CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN\r\n// #define CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS\r\n// #define CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ARRAY_BUILTIN\r\n// #define CONFIG_ECMA_COMPACT_PROFILE_DISABLE_MATH_BUILTIN\r\n// #define CONFIG_ECMA_COMPACT_PROFILE_DISABLE_DATE_BUILTIN\r\n// #define CONFIG_ECMA_COMPACT_PROFILE_DISABLE_JSON_BUILTIN\r\n// #define CONFIG_ECMA_COMPACT_PROFILE_DISABLE_REGEXP_BUILTIN\r\n#endif /* CONFIG_ECMA_COMPACT_PROFILE */\r\n```\r\n\r\n//cc @seanshpark "},"comment":{"url":"https://api.github.com/repos/Samsung/jerryscript/issues/comments/243203834","html_url":"https://github.com/Samsung/jerryscript/issues/88#issuecomment-243203834","issue_url":"https://api.github.com/repos/Samsung/jerryscript/issues/88","id":243203834,"user":{"login":"akosthekiss","id":9976482,"avatar_url":"https://avatars.githubusercontent.com/u/9976482?v=3","gravatar_id":"","url":"https://api.github.com/users/akosthekiss","html_url":"https://github.com/akosthekiss","followers_url":"https://api.github.com/users/akosthekiss/followers","following_url":"https://api.github.com/users/akosthekiss/following{/other_user}","gists_url":"https://api.github.com/users/akosthekiss/gists{/gist_id}","starred_url":"https://api.github.com/users/akosthekiss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akosthekiss/subscriptions","organizations_url":"https://api.github.com/users/akosthekiss/orgs","repos_url":"https://api.github.com/users/akosthekiss/repos","events_url":"https://api.github.com/users/akosthekiss/events{/privacy}","received_events_url":"https://api.github.com/users/akosthekiss/received_events","type":"User","site_admin":false},"created_at":"2016-08-29T18:03:40Z","updated_at":"2016-08-29T18:03:40Z","body":"With the new build system, this became possible\r\n  - either with the help of the new python build script, e.g.: `tools/build.py --compile-flag=\"-DCONFIG_DISABLE_JSON_BUILTIN\"`\r\n  - or by parametrizing cmake directly, e.g.: `cmake -DEXTERNAL_COMPILE_FLAGS='-DCONFIG_DISABLE_JSON_BUILTIN'`.\r\n\r\nResult with full build:\r\n```\r\njerry> JSON.stringify({})\r\n{}\r\njerry> JSON.parse(\"{}\")\r\n[object Object]\r\n```\r\n\r\nResult with selectively disabled JSON builtin:\r\n```\r\njerry> JSON.parse(\"{}\")\r\nScript Error: unhandled exception: ReferenceError\r\njerry> JSON.parse(\"{}\")\r\nScript Error: unhandled exception: ReferenceError\r\n```\r\n"}}
{"actor":{"display_login":"akosthekiss"}}