test(#496): Add FPGA stub backend validating vtable pluggability#505
Merged
test(#496): Add FPGA stub backend validating vtable pluggability#505
Conversation
Declare wl_backend_fpga() getter and include backend.h for the wl_compute_backend_t vtable type used by the test-only FPGA backend.
Naive row-store backend implementing the full wl_compute_backend_t vtable: - fpga_session_create/destroy with dynamic relation storage - fpga_session_insert appending rows into named relations - fpga_session_remove returns -1 (unsupported) - Universal operator evaluator (VARIABLE, MAP, FILTER, JOIN, ANTIJOIN, REDUCE, CONCAT, CONSOLIDATE, SEMIJOIN) with postfix expression engine - Fixed-point iteration for recursive strata with delta tracking - Backend-specific ops (K_FUSION, LFTJ, EXCHANGE) safely skipped - Interface gap findings documented in top-of-file comment block
Test suite validating the FPGA backend vtable is fully pluggable: - Lifecycle: backend name, create/destroy, insert, remove (-1), snapshot - Plan interpretation: passthrough, join, filter, transitive closure, delta callback with diff=+1, backend-specific ops don't crash - Build integration in tests/meson.build following test_plan_gen pattern
Cast operands to uint64_t and clamp shift amount to [0,63] to avoid C11 UB on left-shift of negative int64_t values.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
wl_compute_backend_tvtable is truly pluggablewl_fpga_session_tembeddingwl_session_t baseas first fieldKey validation results
Files (all test-only, no changes to wirelog/)
tests/fpga_backend.h— headertests/fpga_backend.c— implementation (~1130 LOC)tests/test_fpga_backend.c— 11 teststests/meson.build— test registrationCloses #496
Test plan