1. A computing device that uses segmentation to safely execute native code, comprising: a processing element that executes the native code; a memory configured to store code and data for the processing element; and an instruction-processing unit within the processing element, wherein the instruction-processing unit implements a user-level segmentation mechanism including a user descriptor table register and one or more user-level instructions that are operable to create and control user-level memory segments entirely from the user-level, wherein the user-level segmentation mechanism can limit memory accesses by the native code to the user-level memory segments; and a descriptor table in the memory, wherein the descriptor table is in user memory and contains memory segment descriptors that define one or more segments in the memory, and wherein user-level instructions can read and write segment descriptors in the descriptor table; wherein the user-level instructions include a user-level instruction operable to initialize the user descriptor table register with an address of the descriptor table.