1. A cooperative program code transformation method comprising: receiving, at a server, a transformation hint request that is sent by a client; obtaining, from a database comprising a plurality of transformation hints associated with a plurality of corresponding sets of program code, a suitable transformation hint for a set of program code, wherein: the suitable transformation hint comprises information pertaining to one or more of: a mismatch of an instruction address of a dynamic trace of the set of program code and a corresponding instruction address in a statically disassembled output of the set of program code; or a region in which at least a portion of the set of program code is to be ignored by a client-side disassembler in subsequent transformations; and the suitable transformation hint is generated based at least in part on profile information comprising one or more of: basic block execution counts; memory dependence information; or control flow information; providing the suitable transformation hint generated based at least in part on the profile information to the client, wherein the suitable transformation hint generated based at least in part on the profile information is used by the client to transform at least a portion of the program code and generate optimized code.