{"action":"created","issue":{"url":"https://api.github.com/repos/micropython/micropython/issues/1036","labels_url":"https://api.github.com/repos/micropython/micropython/issues/1036/labels{/name}","comments_url":"https://api.github.com/repos/micropython/micropython/issues/1036/comments","events_url":"https://api.github.com/repos/micropython/micropython/issues/1036/events","html_url":"https://github.com/micropython/micropython/issues/1036","id":53287763,"number":1036,"title":"Stackless design?","user":{"login":"pfalcon","id":500451,"avatar_url":"https://avatars.githubusercontent.com/u/500451?v=3","gravatar_id":"","url":"https://api.github.com/users/pfalcon","html_url":"https://github.com/pfalcon","followers_url":"https://api.github.com/users/pfalcon/followers","following_url":"https://api.github.com/users/pfalcon/following{/other_user}","gists_url":"https://api.github.com/users/pfalcon/gists{/gist_id}","starred_url":"https://api.github.com/users/pfalcon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pfalcon/subscriptions","organizations_url":"https://api.github.com/users/pfalcon/orgs","repos_url":"https://api.github.com/users/pfalcon/repos","events_url":"https://api.github.com/users/pfalcon/events{/privacy}","received_events_url":"https://api.github.com/users/pfalcon/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/micropython/micropython/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-01-03T00:20:13Z","updated_at":"2015-01-03T13:00:10Z","closed_at":null,"body":"@dpgeorge, did you consider stackless design? I.e. one where Python native function call wouldn't map to C function call, but rather there was big continuous value stack?\r\n"},"comment":{"url":"https://api.github.com/repos/micropython/micropython/issues/comments/68594210","html_url":"https://github.com/micropython/micropython/issues/1036#issuecomment-68594210","issue_url":"https://api.github.com/repos/micropython/micropython/issues/1036","id":68594210,"user":{"login":"pfalcon","id":500451,"avatar_url":"https://avatars.githubusercontent.com/u/500451?v=3","gravatar_id":"","url":"https://api.github.com/users/pfalcon","html_url":"https://github.com/pfalcon","followers_url":"https://api.github.com/users/pfalcon/followers","following_url":"https://api.github.com/users/pfalcon/following{/other_user}","gists_url":"https://api.github.com/users/pfalcon/gists{/gist_id}","starred_url":"https://api.github.com/users/pfalcon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pfalcon/subscriptions","organizations_url":"https://api.github.com/users/pfalcon/orgs","repos_url":"https://api.github.com/users/pfalcon/repos","events_url":"https://api.github.com/users/pfalcon/events{/privacy}","received_events_url":"https://api.github.com/users/pfalcon/received_events","type":"User","site_admin":false},"created_at":"2015-01-03T13:00:10Z","updated_at":"2015-01-03T13:00:10Z","body":"> Do you mean that a bytecode function calling another bytecode function uses the same VM call (instead of going through a few C functions and making another VM stack frame)?\r\n\r\nYes, exactly that. So, CALL_FUNC would create another frame on Python stack, switch to it, and keep running bytecode, while RETURN would pop to previous frame.\r\n"}}