ciSymbol.hpp use a macro to wrap symbols exported by vmSymbols.hpp. E.g., we have functions like
ciSymbol* ciSymbol::java_lang_System();
ciSymbol* ciSymbol::java_lang_String();
See https://github.com/openjdk/jdk/blob/0357db358133b38d82ad959261bc3175ea442043/src/hotspot/share/ci/ciSymbol.hpp#L101
This causes vmSymbols.hpp and vmIntrinsics.hpp to be recursively included by a large number of CPP files. Since only small number of CPP files actually use these functions, we should move this to a new header file, ciSymbols.hpp, so we can reduce the unnecessary includes.