| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-01-15 | fix bad archive name calculation | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix table imports in objects | Andrew Kelley | |
| they need to reference a local index until the object parsing is complete and also need to check reftype matching | |||
| 2025-01-15 | can't use source location until return from this function | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix global imports in objects | Andrew Kelley | |
| they need to reference a local index until the object parsing is complete and also need to check mutability and type matching | |||
| 2025-01-15 | resolve merge conflicts | Andrew Kelley | |
| with 497592c9b45a94fb7b6028bf45b80f183e395a9b | |||
| 2025-01-15 | fix missing missing entry symbol error when no zcu | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix crashes when parsing compiler_rt | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix relocation parsing | Andrew Kelley | |
| 2025-01-15 | Compilation: account for C objects and resources in prelink | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix active data segment offset value | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix missing function type entry for import | Andrew Kelley | |
| 2025-01-15 | use fixed writer in more places | Andrew Kelley | |
| 2025-01-15 | fix stack pointer initialized to wrong vaddr | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement indirect function calls | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement stack pointer global | Andrew Kelley | |
| 2025-01-15 | implement the prelink phase in the frontend | Andrew Kelley | |
| this strategy uses a "postponed" queue to handle codegen tasks that spawn too early. there's probably a better way. | |||
| 2025-01-15 | wasm linker: fix data section in flush | Andrew Kelley | |
| 2025-01-15 | implement error table and error names data segments | Andrew Kelley | |
| 2025-01-15 | wasm linker: zcu data fixups are already applied | Andrew Kelley | |
| 2025-01-15 | wasm linker: initialize the data segments table in flush | Andrew Kelley | |
| it cannot be done earlier since ids are not stable yet | |||
| 2025-01-15 | wasm linker: also call lowerZcuData in updateFunc | Andrew Kelley | |
| codegen can generate zcu data dependencies that need to be populated | |||
| 2025-01-15 | wasm linker: avoid recursion in lowerZcuData | Andrew Kelley | |
| instead of recursion, callers of the function are responsible for checking the respective tables that might have new entries in them and then calling lowerZcuData again. | |||
| 2025-01-15 | wasm linker: implement data fixups | Andrew Kelley | |
| one hash table lookup per fixup | |||
| 2025-01-15 | wasm linker: fix eliding empty data segments | Andrew Kelley | |
| 2025-01-15 | wasm codegen: fix call_indirect | Andrew Kelley | |
| 2025-01-15 | wasm linker: allow undefined imports when lib name is provided | Andrew Kelley | |
| and expose object_host_name as an option for setting the lib name for object files, since the wasm linking standards don't specify a way to do it. | |||
| 2025-01-15 | wasm linker: handle extern functions in updateNav | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix data segments memory flow | Andrew Kelley | |
| Recognize three distinct phases: * before prelink ("object phase") * after prelink, before flush ("zcu phase") * during flush ("flush phase") With this setup, we create data structures during the object phase, then mutate them during the zcu phase, and then further mutate them during the flush phase. In order to make the flush phase repeatable, the data structures are copied just before starting the flush phase. Further Zcu updates occur against the non-copied data structures. What's not implemented is frontend garbage collection, in which case some more changes will be needed in this linker logic to achieve a valid state with data invariants intact. | |||
| 2025-01-15 | wasm linker: fix calling imported functions | Andrew Kelley | |
| and more disciplined type safety for output function indexes | |||
| 2025-01-15 | wasm codegen: fix extra index not relative | Andrew Kelley | |
| 2025-01-15 | wasm linker: add __zig_error_name_table data when needed | Andrew Kelley | |
| 2025-01-15 | add safety for calling functions that get virtual addrs | Andrew Kelley | |
| 2025-01-15 | wasm codegen: fix wrong union field for locals | Andrew Kelley | |
| 2025-01-15 | fix calculation of nav alignment | Andrew Kelley | |
| 2025-01-15 | complete wasm.Emit implementation | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement missing logic | Andrew Kelley | |
| fix some compilation errors for reworked Emit now that it's actually referenced introduce DataSegment.Id for sorting data both from object files and from the Zcu. introduce optimization: data segment sorting includes a descending sort on reference count so that references to data can be smaller integers leading to better LEB encodings. this optimization is skipped for object files. implement uav address access function which is based on only 1 hash table lookup to find out the offset after sorting. | |||
| 2025-01-15 | wasm linker: implement type index method | Andrew Kelley | |
| 2025-01-15 | fix replaceVecSectionHeader | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement name subsection | Andrew Kelley | |
| unlike the previous implementation, we can simply iterate an array. | |||
| 2025-01-15 | wasm linker fixes | Andrew Kelley | |
| * function resolution now links to zcu_funcs, not navs_exe/navs_obj * updateFunc now adds things to output functions * updateNav now handles function aliases correctly * only report start symbol missing when it is unresolved | |||
| 2025-01-15 | wasm codegen: remove dependency on PerThread where possible | Andrew Kelley | |
| 2025-01-15 | wasm codegen: fix lowering of 32/64 float rt calls | Andrew Kelley | |
| 2025-01-15 | remove bad deinit | Andrew Kelley | |
| 2025-01-15 | add dev env for wasm | Andrew Kelley | |
| with this I get 5s compilations | |||
| 2025-01-15 | fix compilation when enabling llvm | Andrew Kelley | |
| 2025-01-15 | wasm linker: finish the flush function | Andrew Kelley | |
| This branch is passing type checking now. | |||
| 2025-01-15 | wasm linker: flush export section | Andrew Kelley | |
| 2025-01-15 | wasm linker: flush implemented up to the export section | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement name, module name, and type for function imports | Andrew Kelley | |
| 2025-01-15 | frontend: add const to more Zcu pointers | Andrew Kelley | |
