{"push_id":3029288538,"size":16,"distinct_size":1,"ref":"refs/heads/master-next","head":"242005f2f168534f30d757f05911bc3ca81355fb","before":"a522630ae5dc5008a803bab4ce123db63941d6d1","commits":[{"sha":"c158106329939388d5899922ee2e8a8f4bbc0507","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Allow dynamic without @objc in -swift-version 5\n\nDynamic functions will allow replacement of their implementation at\nruntime.","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/c158106329939388d5899922ee2e8a8f4bbc0507"},{"sha":"5f4e1833028dcf31ab096dc143656545c6bea88d","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Add [dynamically_replacable] to SILFunctions\n\n'dynamic' functions are marked as [dynamically_replaceable].","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/5f4e1833028dcf31ab096dc143656545c6bea88d"},{"sha":"ebbe3aed1c7405fdbbc28a0d8b12ddda30e69dc8","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"IRGen: Add implementation for dynamically replaceable functions\n\nA dynamically replaceable function calls through a global variable that\nholds the function pointer.\n\nstruct ChainEntry {\n   void *(funPtr)();\n   struct ChainEntry *next;\n}\n\nChainEntry dynamicallyReplaceableVar;\n\nvoid dynamicallyReplaceableFunction() {\n  dynamicallyReplaceableVar.funPtr()\n}\n\ndynamic replacements will be chainable so the global variable also\nfunctions as the root entry in the chain of replacements.\n\nA dynamic replacement functions can call the previous implementation by\ngoing through its chain entry.\n\nChainEntry chainEntryOf_dynamic_replacement_for_foo;\n\nvoid dynamic_replacement_for_foo() {\n   // call the previous (original) implementation.\n   chainEntryOf_dynamic_replacement_for_foo.funPtr();\n}","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/ebbe3aed1c7405fdbbc28a0d8b12ddda30e69dc8"},{"sha":"7e32c68e1d0c2767b3ff237dfcdf76753f0aa262","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Add new SIL instruction for calling dynamically_replaceable funtions\n\n  %0 = dynamic_function_ref @dynamically_replaceable_function\n  apply %0()\n  Calls a [dynamically_replaceable] function.\n\n  %0 = prev_dynamic_function_ref @dynamic_replacement_function\n  apply %0\n  Calls the previous implementation that dynamic_replacement_function\n  replaced.","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/7e32c68e1d0c2767b3ff237dfcdf76753f0aa262"},{"sha":"52c1903e54e286538eab2449cc34d7bfeca5841b","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Add SIL support for [dynamic_replacement_for: ] functions","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/52c1903e54e286538eab2449cc34d7bfeca5841b"},{"sha":"b102c7f6b4551eb8a4fe85da5657da87611ac9bf","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Parser/Sema/SILGen changes for @_dynamicReplacement(for:)\n\nDynamic replacements are currently written in extensions as\n\nextension ExtendedType {\n  @_dynamicReplacement(for: replacedFun())\n  func replacement() { }\n}\n\nThe runtime implementation allows an implementation in the future where\ndynamic replacements are gather in a scope and can be dynamically\nenabled and disabled.\n\nFor example:\n\ndynamic_extension_scope CollectionOfReplacements {\n  extension ExtentedType {\n    func replacedFun() {}\n  }\n\n  extension ExtentedType2 {\n    func replacedFun() {}\n  }\n}\n\nCollectionOfReplacements.enable()\nCollectionOfReplacements.disable()","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/b102c7f6b4551eb8a4fe85da5657da87611ac9bf"},{"sha":"152e8db8bb3a2b4b8130abb2c738240de6207612","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"IRGen and runtime implementation for dynamic replacements","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/152e8db8bb3a2b4b8130abb2c738240de6207612"},{"sha":"89e19693aa0f8d95360ef871413c5b92037461dc","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Cleanups","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/89e19693aa0f8d95360ef871413c5b92037461dc"},{"sha":"f1b53eb5c19f5f7cab1d3b9e3f0bd4fa6f33b0b8","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Add artificial debug information to dispatch thunk.","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/f1b53eb5c19f5f7cab1d3b9e3f0bd4fa6f33b0b8"},{"sha":"c77da027c741c4e98702352e98ea8790fe834eaf","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Attemp to fix python lint errors","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/c77da027c741c4e98702352e98ea8790fe834eaf"},{"sha":"cf2eb2115eaf63e57759ecc4aeffe929acb48f11","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Fix python indentation for real","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/cf2eb2115eaf63e57759ecc4aeffe929acb48f11"},{"sha":"fff13330d545b914d069aad0ef9fab2b4456cbdd","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Adjust test for 32bit","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/fff13330d545b914d069aad0ef9fab2b4456cbdd"},{"sha":"83e162219d5d0eeba2cac83de78770c15dbb8869","author":{"name":"Saleem Abdulrasool","email":"d3629432f14a71b62e796d32d075121c69cf67de@compnerd.org"},"message":"build: add a dependency target for non-stdlib builds\n\nWhen building without the standard library, we need to create the dependency\ntarget manually to track the dependencies internally.","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/83e162219d5d0eeba2cac83de78770c15dbb8869"},{"sha":"7fa22c4a24f70a6f6731c65350b665c70c6e1eda","author":{"name":"swift-ci","email":"ae1c7a81971cd87243eb6e815ca4a320961564e9@users.noreply.github.com"},"message":"Merge pull request #20397 from compnerd/deptrack","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/7fa22c4a24f70a6f6731c65350b665c70c6e1eda"},{"sha":"44b3a47e5623911bbc3b66172dfba77f883b9fdb","author":{"name":"Arnold Schwaighofer","email":"a062a1fc79cf5774407f3aca464d9087f7463c8c@apple.com"},"message":"Merge pull request #20333 from aschwaighofer/dynamic_function_replacement\n\nDynamic function replacement","distinct":false,"url":"https://api.github.com/repos/apple/swift/commits/44b3a47e5623911bbc3b66172dfba77f883b9fdb"},{"sha":"242005f2f168534f30d757f05911bc3ca81355fb","author":{"name":"swift-ci","email":"ae1c7a81971cd87243eb6e815ca4a320961564e9@users.noreply.github.com"},"message":"Merge remote-tracking branch 'origin/master' into master-next","distinct":true,"url":"https://api.github.com/repos/apple/swift/commits/242005f2f168534f30d757f05911bc3ca81355fb"}]}
{"actor":{"display_login":"swift-ci"}}