@armagan1 At least in v8, almost all of the relevant data structures you'd want to optimize are already optimized for space if they were a problem. The additional overhead of sharing (ownership tracking, sync, etc) would probably outweigh the benefit from sharing.
Personally, I can't imagine maintaining such code in a way that maintains performance -- especially at the scale of a browser engine (w/o rewriting in a language which supports those functional data structures performantly).
I think Google released a report at some point that the v8 JIT (turbofan) was actually one of the larger memory footprints in the browser (which makes sense, x86 code has pretty low density compared to the ignition bytecode format. see: https://benediktmeurer.de/2016/11/25/v8-behind-the-scenes-november-edition).
Another question is, are you looking at resident set size or virtual memory usage? I find that browsers often over-provision their virtual address spaces without actually using that memory.
A modern web browser is, to some extent, more complicated than an operating system kernel -- excluding drivers. I think the core answer here is "sacrifice most of your performance and compatibility and you will get back a little bit of memory".