{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":719374950,"defaultBranch":"trunk","name":"scrapscript","ownerLogin":"tekknolagi","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-11-16T02:57:40.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/401167?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1722182264.0","currentOid":""},"activityList":{"items":[{"before":"4ac66180ea51e064bd00b99a63c85ca2b36e0ea1","after":null,"ref":"refs/heads/mb-verify-shadow-stack","pushedAt":"2024-07-28T15:57:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"}},{"before":"86a617b7985a56c4598c09c89d3c37b87bc9e88c","after":"03e0ac22a729d8b982a4f8a0d13d5a612fd0e002","ref":"refs/heads/trunk","pushedAt":"2024-07-28T15:57:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Verify shadow stack before and after collect (#188)\n\n- Also verify that the shadow stack points into the heap\r\n- Scan from base of heap, not to/from space\r\n- Use more expressive error\r\n- When growing the heap, verify before swapping in new space","shortMessageHtmlLink":"Verify shadow stack before and after collect (#188)"}},{"before":"ff63e6ae033997e73752258d943bbeec3c827675","after":"4ac66180ea51e064bd00b99a63c85ca2b36e0ea1","ref":"refs/heads/mb-verify-shadow-stack","pushedAt":"2024-07-26T19:44:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Fix warning","shortMessageHtmlLink":"Fix warning"}},{"before":null,"after":"ff63e6ae033997e73752258d943bbeec3c827675","ref":"refs/heads/mb-verify-shadow-stack","pushedAt":"2024-07-26T19:37:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"When growing the heap, verify before swapping in new space","shortMessageHtmlLink":"When growing the heap, verify before swapping in new space"}},{"before":"f6c5d321be95b93055e4d3f701065a16b7386f1c","after":null,"ref":"refs/heads/mb-heap-verify","pushedAt":"2024-07-26T18:05:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"}},{"before":"6b43a03d0bdc5819711c6a474a95ead4d1e65f6a","after":"86a617b7985a56c4598c09c89d3c37b87bc9e88c","ref":"refs/heads/trunk","pushedAt":"2024-07-26T18:05:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Verify the heap before and after GC","shortMessageHtmlLink":"Verify the heap before and after GC"}},{"before":null,"after":"f6c5d321be95b93055e4d3f701065a16b7386f1c","ref":"refs/heads/mb-heap-verify","pushedAt":"2024-07-26T18:03:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Verify the heap before and after GC","shortMessageHtmlLink":"Verify the heap before and after GC"}},{"before":"b8f03dd4bafa5135b4be17b738f74605c46248a0","after":null,"ref":"refs/heads/mb-random-opt","pushedAt":"2024-07-26T17:50:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"}},{"before":"c19fac56146c86a44d20f58ed3b56975c815279d","after":"6b43a03d0bdc5819711c6a474a95ead4d1e65f6a","ref":"refs/heads/trunk","pushedAt":"2024-07-26T17:50:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Optimize small_string_concat\n\nGoes from a assembly mess with SIMD and stuff to:\n\n```\n0000000000002070 :\n return (((uword)obj) >> kImmediateTagBits) & kMaxSmallStringLength;\n 2070:\t89 f8 \tmov eax,edi\n 2072:\tc1 e8 05 \tshr eax,0x5\n 2075:\t83 e0 07 \tand eax,0x7\n uword length = small_string_length(a_obj) + small_string_length(b_obj);\n uword result = ((uword)b_obj) & ~(uword)0xFFULL;\n 2078:\t48 89 f2 \tmov rdx,rsi\n 207b:\t48 81 e2 00 ff ff ff \tand rdx,0xffffffffffffff00\n result <<= small_string_length(a_obj) * kBitsPerByte;\n 2082:\t89 c1 \tmov ecx,eax\n 2084:\tc1 e1 03 \tshl ecx,0x3\n 2087:\t48 d3 e2 \tshl rdx,cl\n result |= ((uword)a_obj) & ~(uword)0xFFULL;\n 208a:\t48 81 e7 00 ff ff ff \tand rdi,0xffffffffffffff00\n result |= length << kImmediateTagBits;\n 2091:\t48 c1 e0 05 \tshl rax,0x5\n 2095:\t81 e6 e0 00 00 00 \tand esi,0xe0\n 209b:\t48 01 f0 \tadd rax,rsi\n 209e:\t48 09 f8 \tor rax,rdi\n result |= kSmallStringTag;\n 20a1:\t48 09 d0 \tor rax,rdx\n 20a4:\t48 83 c8 0d \tor rax,0xd\n struct object* result_obj = (struct object*)result;\n return result_obj;\n 20a8:\tc3 \tret\n```","shortMessageHtmlLink":"Optimize small_string_concat"}},{"before":"6801bf5e62b12103cfcd183860d2e16976ac4cd3","after":"b8f03dd4bafa5135b4be17b738f74605c46248a0","ref":"refs/heads/mb-random-opt","pushedAt":"2024-07-26T17:48:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Optimize small_string_concat\n\nGoes from a assembly mess with SIMD and stuff to:\n\n```\n0000000000002070 :\n return (((uword)obj) >> kImmediateTagBits) & kMaxSmallStringLength;\n 2070:\t89 f8 \tmov eax,edi\n 2072:\tc1 e8 05 \tshr eax,0x5\n 2075:\t83 e0 07 \tand eax,0x7\n uword length = small_string_length(a_obj) + small_string_length(b_obj);\n uword result = ((uword)b_obj) & ~(uword)0xFFULL;\n 2078:\t48 89 f2 \tmov rdx,rsi\n 207b:\t48 81 e2 00 ff ff ff \tand rdx,0xffffffffffffff00\n result <<= small_string_length(a_obj) * kBitsPerByte;\n 2082:\t89 c1 \tmov ecx,eax\n 2084:\tc1 e1 03 \tshl ecx,0x3\n 2087:\t48 d3 e2 \tshl rdx,cl\n result |= ((uword)a_obj) & ~(uword)0xFFULL;\n 208a:\t48 81 e7 00 ff ff ff \tand rdi,0xffffffffffffff00\n result |= length << kImmediateTagBits;\n 2091:\t48 c1 e0 05 \tshl rax,0x5\n 2095:\t81 e6 e0 00 00 00 \tand esi,0xe0\n 209b:\t48 01 f0 \tadd rax,rsi\n 209e:\t48 09 f8 \tor rax,rdi\n result |= kSmallStringTag;\n 20a1:\t48 09 d0 \tor rax,rdx\n 20a4:\t48 83 c8 0d \tor rax,0xd\n struct object* result_obj = (struct object*)result;\n return result_obj;\n 20a8:\tc3 \tret\n```","shortMessageHtmlLink":"Optimize small_string_concat"}},{"before":"23ec2573be41333cec5499afc94d1d8e10f3647b","after":null,"ref":"refs/heads/mb-heap-grow","pushedAt":"2024-07-26T17:48:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"}},{"before":"786a151f7f80e5facf5869e0b5a78fa013dead67","after":"c19fac56146c86a44d20f58ed3b56975c815279d","ref":"refs/heads/trunk","pushedAt":"2024-07-26T17:48:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Grow the heap if need be (#186)\n\nFix #162","shortMessageHtmlLink":"Grow the heap if need be (#186)"}},{"before":"eeca17f47e3fc990946822c3d2fcb82d88a3d979","after":"23ec2573be41333cec5499afc94d1d8e10f3647b","ref":"refs/heads/mb-heap-grow","pushedAt":"2024-07-26T17:46:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Skip heap growth in static heap mode","shortMessageHtmlLink":"Skip heap growth in static heap mode"}},{"before":"8770e35b64b3a1ff937c441b19e608fff99cf781","after":"eeca17f47e3fc990946822c3d2fcb82d88a3d979","ref":"refs/heads/mb-heap-grow","pushedAt":"2024-07-26T17:44:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Skip heap growth in static heap mode","shortMessageHtmlLink":"Skip heap growth in static heap mode"}},{"before":"bbf5c121b854f779b69a8a7752d22169051fc60e","after":"8770e35b64b3a1ff937c441b19e608fff99cf781","ref":"refs/heads/mb-heap-grow","pushedAt":"2024-07-26T17:41:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Grow the heap if need be\n\nFix #162","shortMessageHtmlLink":"Grow the heap if need be"}},{"before":"9246b6b11a1bade3e4a352a9c60910fcc0dc89f2","after":"bbf5c121b854f779b69a8a7752d22169051fc60e","ref":"refs/heads/mb-heap-grow","pushedAt":"2024-07-26T17:33:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Grow the heap if need be\n\nFix #162","shortMessageHtmlLink":"Grow the heap if need be"}},{"before":null,"after":"9246b6b11a1bade3e4a352a9c60910fcc0dc89f2","ref":"refs/heads/mb-heap-grow","pushedAt":"2024-07-26T17:32:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Grow the heap if need be","shortMessageHtmlLink":"Grow the heap if need be"}},{"before":"d972a2fa102b539ff980daab20960ff1bcd77ab1","after":null,"ref":"refs/heads/mb-nit","pushedAt":"2024-07-26T17:02:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"}},{"before":"d235b060af3cd537f4b1dd4b473ec8a3c7c08a9e","after":"786a151f7f80e5facf5869e0b5a78fa013dead67","ref":"refs/heads/trunk","pushedAt":"2024-07-26T17:02:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Deduplicate space functions a bit","shortMessageHtmlLink":"Deduplicate space functions a bit"}},{"before":null,"after":"d972a2fa102b539ff980daab20960ff1bcd77ab1","ref":"refs/heads/mb-nit","pushedAt":"2024-07-26T16:59:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Deduplicate space functions a bit","shortMessageHtmlLink":"Deduplicate space functions a bit"}},{"before":"5dc5bc7a0293351d1bd280df6cadac7a295e00a7","after":null,"ref":"refs/heads/mb-check-record-length","pushedAt":"2024-07-26T15:56:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"}},{"before":"04f292fb728611f72b99ddc34306bee96e01d779","after":"d235b060af3cd537f4b1dd4b473ec8a3c7c08a9e","ref":"refs/heads/trunk","pushedAt":"2024-07-26T15:56:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Check record size in pattern match","shortMessageHtmlLink":"Check record size in pattern match"}},{"before":null,"after":"5dc5bc7a0293351d1bd280df6cadac7a295e00a7","ref":"refs/heads/mb-check-record-length","pushedAt":"2024-07-26T15:55:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Check record size in pattern match","shortMessageHtmlLink":"Check record size in pattern match"}},{"before":null,"after":"a9f8949ab6267b4fd3103dee28593bc99c416706","ref":"refs/heads/mb-save-load","pushedAt":"2024-07-19T18:34:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Add 1730990load NativeFunction","shortMessageHtmlLink":"Add 1730990load NativeFunction"}},{"before":null,"after":"6801bf5e62b12103cfcd183860d2e16976ac4cd3","ref":"refs/heads/mb-random-opt","pushedAt":"2024-07-18T20:16:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Optimize small_string_concat\n\nGoes from a assembly mess with SIMD and stuff to:\n\n```\n0000000000002070 :\n return (((uword)obj) >> kImmediateTagBits) & kMaxSmallStringLength;\n 2070:\t89 f8 \tmov eax,edi\n 2072:\tc1 e8 05 \tshr eax,0x5\n 2075:\t83 e0 07 \tand eax,0x7\n uword length = small_string_length(a_obj) + small_string_length(b_obj);\n uword result = ((uword)b_obj) & ~(uword)0xFFULL;\n 2078:\t48 89 f2 \tmov rdx,rsi\n 207b:\t48 81 e2 00 ff ff ff \tand rdx,0xffffffffffffff00\n result <<= small_string_length(a_obj) * kBitsPerByte;\n 2082:\t89 c1 \tmov ecx,eax\n 2084:\tc1 e1 03 \tshl ecx,0x3\n 2087:\t48 d3 e2 \tshl rdx,cl\n result |= ((uword)a_obj) & ~(uword)0xFFULL;\n 208a:\t48 81 e7 00 ff ff ff \tand rdi,0xffffffffffffff00\n result |= length << kImmediateTagBits;\n 2091:\t48 c1 e0 05 \tshl rax,0x5\n 2095:\t81 e6 e0 00 00 00 \tand esi,0xe0\n 209b:\t48 01 f0 \tadd rax,rsi\n 209e:\t48 09 f8 \tor rax,rdi\n result |= kSmallStringTag;\n 20a1:\t48 09 d0 \tor rax,rdx\n 20a4:\t48 83 c8 0d \tor rax,0xd\n struct object* result_obj = (struct object*)result;\n return result_obj;\n 20a8:\tc3 \tret\n```","shortMessageHtmlLink":"Optimize small_string_concat"}},{"before":"ef467bdc6f71f729140a74e4248fec3cbe0ebc36","after":"548458d8ce314a1930cdd3ec86245b5ca92cb03b","ref":"refs/heads/mb-link-2","pushedAt":"2024-07-15T17:46:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Add scrapyard and lazy linking","shortMessageHtmlLink":"Add scrapyard and lazy linking"}},{"before":"7ddcf9e45595d4f8919444697559180b1f1898d4","after":"ef467bdc6f71f729140a74e4248fec3cbe0ebc36","ref":"refs/heads/mb-link-2","pushedAt":"2024-07-15T17:32:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Link closure","shortMessageHtmlLink":"Link closure"}},{"before":"dc62b77c017bd3f938b47b5629ec7b9b6dbbecc8","after":"7ddcf9e45595d4f8919444697559180b1f1898d4","ref":"refs/heads/mb-link-2","pushedAt":"2024-07-15T17:26:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"Switch to sha256","shortMessageHtmlLink":"Switch to sha256"}},{"before":"1ccf8637d0216d0661a6e312cd0becfb4ac80665","after":"0fd2a8a7d07c9bc66a3dad8868423e957d06b90b","ref":"refs/heads/mb-land","pushedAt":"2024-07-15T17:21:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"},"commit":{"message":"List all scraps","shortMessageHtmlLink":"List all scraps"}},{"before":"b76c4a905454dab77cb71a26cc9a6013f321f57a","after":null,"ref":"refs/heads/mb-remove-todo","pushedAt":"2024-07-12T17:51:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"tekknolagi","name":"Max Bernstein","path":"/tekknolagi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/401167?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEizepsgA","startCursor":null,"endCursor":null}},"title":"Activity ยท tekknolagi/scrapscript"}