The use of ray shooting followed by interpolation of traveltimes onto a regular grid is a popular and robust method for computing diffraction curves for Kirchhoff migration. An alternative to this method is to compute the traveltimes by directly solving the eikonal equation on a regular grid, without computing raypaths. Solving the eikonal equation on such a grid simplifies the problem of interpolating times onto the migration grid, but this method is not well defined at points where two different branches of the traveltime field meet. Also, computational and data storage issues that are relatively unimportant for performance in two dimensions limit the applicability of both schemes in three dimensions. A new implementation of a gridded eikonal equation solver has been designed to address these problems. A 2-D version of this algorithm is tested by using it to generate traveltimes to migrate the Marmousi synthetic data set using the exact velocity model. The results are compared with three other images: an F-X migration (a standard for comparison), a Kirchhoff migration using ray tracing, and a Kirchhoff migration using traveltimes generated by a commonly used eikonal equation solver. The F-X-migrated image shows the imaging objective more clearly than any of the Kirchhoff migrations, and we advance a heuristic reason to explain this fact. Of the Kirchhoff migrations, the one using ray tracing produces the best image, and the other two are of comparable quality.