Thanks for the responses! I'm one of the maintainers of the UDB project, 
and serving as a mentor for Yash. I've added some comments inline below...

On Wednesday, October 8, 2025 at 11:43:51 AM UTC-5 [email protected] 
wrote:

Hi Yash,
Additionally, I'd like to add one more point: V8's backend does not support 
all RISC-V standard extensions. We only implement those extension 
instruction sets that can correspond to the machine IR generated after 
JavaScript and Wasm are lowered within V8. In other words, we only 
implement the extension instruction sets that help accelerate V8's 
execution, and there is no need to implement other redundant parts. 
Therefore, V8's current assembler, disassembler, and simulator do not 
actually need to handle all extensions.
For the corresponding functional modules generated by UDB, is there the 
possibility of fine-grained selection of which extensions to implement and 
which not to?


Yes. Configurability is built in. Here's a fairly minimal "RV32" 
configuration as an example: 
https://github.com/riscv-software-src/riscv-unified-db/blob/main/cfgs/rv32.yaml
 

When new extensions need to be added in the future, will it require overall 
modifications or just incremental additions?


You can just add the new extension to your configuration file.
 

Does UDB have different versions due to its ongoing evolution, which may 
produce different results?


I'd say no. There are efforts to finalize a "1.0" of the underlying schema, 
but the content is always based on the ratified specification, so the 
results won't change. The goal is to make adoption painless -- to generate 
content as close to what you have now as possible.
 

These are all factors we need to consider.

在2025年10月8日星期三 UTC+8 13:52:13<Florian Loitsch> 写道:

Hi Yash,

I'm currently one of the maintainers of the RISC-V port, but can't speak 
for the other maintainers, some of whom have worked on the RISC-V port for 
much longer than me.
>From my point of view creating the (dis)assembler sources from the UDB 
seems like the correct approach, but it's not clear whether changing the 
current sources is necessary:
- the current (dis)assembler works and requires little maintenance effort. 
It's very rare that we start using a new instruction.
- the build system for something that creates sources from a DB 
automatically becomes more complicated. Few of us like to review 
build-system code.
- I'm worried that just reviewing the new code is more effort than any 
change we will make to that part of the code in the future.

That said; if the CLs (pull requests) are small and easy to review I'm not 
against it. What we definitely don't want is a huge CL in some weeks that 
replaces thousands of lines of code with some other thousands of lines of 
code.


I completely understand. I wouldn't want significant (or any) disruption 
without significant value, either.

In the absence of "no", it's on us to produce something for your 
consideration. We'll take a stab at it and come back. We may have questions 
as we proceed, but hope to not become a nuisance.

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/v8-dev/bc067c44-c994-40c0-9ebe-1f147abccf7dn%40googlegroups.com.

Reply via email to