According to this documentation page , if you try to compile a list too large, you should receive a GL_OUT_OF_MEMORY message.
make sure you call glGetError() before and after creating the list and process all the results until GL_NO_ERROR is returned.
There seems to be no way to estimate the number of teams a list can contain. This is probably due to the fact that each command takes a different size depending on its arguments and the encoding of the specific device used. Lists are stored in the video memory of the card, so if you use a relatively non-archaic card, this usually should not be a problem for lists of a reasonable size. If you find that this is really a problem, you can probably use Vertex arrays or even VBOs
source share