Improve caching for read_mark_global

With old code it never fetches cached value from instance variable if it's nil. Fixed it