Consider merging https://chromium.googlesource.com/chromium/blink/+/5a58b6e748460a8a5e83e8d841e984bed3de1013 The lion's share of the memory used by the style resolver is in the RuleSet objects. Prior to this CL, these objects were structured as a HashMap from AtomicStrings to pointers to vectors of RuleData. This CL simplifies this object graph by removing a layer of indirection. Now we just have a HashMap from AtomicStrings to an array of RuleDatas. Rather than use a length to terminate the iteration over the Vector, this CL uses a bit in RuleData to mark the end of the array. Together with removing the extra pointer, this CL saves 15 kB on Mobile Gmail.
I doubt this is relevant anymore.