Oil giants make record profits as Iran war pushes up prices