Comments (3)
Commit 6d6ff3c includes the license files.
from avo.
Can xed not yet been used?
from avo.
Can xed not yet been used?
In retrospect, I wish I had considered XED more seriously. At the time I thought it would be easier to use existing databases with Go support: the Go arch
sub-repo and PeachPy's Opcodes XML file. Unfortunately neither of these data sources are quite accurate, so some of the most ugly code in this entire project deals with merging these two sources and fixing up any mistakes. See internal/load/load.go
.
To somewhat insulate the rest of the project from this nastyness the output of load.go
is written to a Go database package internal/inst
. The avogen
tool is backed by this database and generates various other files across the project.
Note also that the following test generates a massive file with one instruction per entry in the instruction database and runs it through go tool asm
, to confirm compatibility with the toolchain. Writing load.go
above was basically a long game of whack-a-mole with this test.
avo/internal/inst/table_test.go
Lines 73 to 80 in f2315d5
Anyway, this is a long way of saying that it should be possible in future to swap out the way the instruction database is generated, since I hope the details of the underlying data sources are contained within internal/load
.
I would be interested in revisiting this once the rest of the project is more stable.
from avo.
Related Issues (20)
- Getting `CL` register for variable shifts HOT 3
- ci: slowdown due to golangci-lint install
- instructions: new MOVBE* aliases
- tests/thirdparty: add probakowski/curve1174 HOT 2
- tests/thirdparty: add oasisprotocol/deoxysii
- tests/thirdparty: add cloudflare/circl
- tests/thirdparty: standard library tests are slow HOT 1
- question: diasallow automatic use of certain register(s) HOT 1
- How to generate stub.go files with proper imports?
- instructions: GFNI HOT 5
- build: missing move deduction for booleans HOT 2
- tests/thirdparty: add crypto/internal/bigmod
- instructions: GFNI, VAES and VPCLMULQDQ naming inconsistency with x/sys/cpu HOT 8
- TestParseSignatureErrors fail on Go1.20 HOT 3
- ci: contributor PRs fail the pr/automerge step HOT 1
- Cannot generate stubs HOT 3
- operand: printing floating point literals without decimal causes invalid interpretation HOT 1
- how to include a asm file ? HOT 1
- why the result is reversed ? HOT 1
- Allow user to use a Mem with a nil Base HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from avo.