< prev index next >

src/hotspot/cpu/x86/assembler_x86.hpp

Print this page

        

*** 31,41 **** class BiasedLockingCounters; // Contains all the definitions needed for x86 assembly code generation. // Calling convention ! class Argument VALUE_OBJ_CLASS_SPEC { public: enum { #ifdef _LP64 #ifdef _WIN64 n_int_register_parameters_c = 4, // rcx, rdx, r8, r9 (c_rarg0, c_rarg1, ...) --- 31,41 ---- class BiasedLockingCounters; // Contains all the definitions needed for x86 assembly code generation. // Calling convention ! class Argument { public: enum { #ifdef _LP64 #ifdef _WIN64 n_int_register_parameters_c = 4, // rcx, rdx, r8, r9 (c_rarg0, c_rarg1, ...)
*** 153,163 **** // Note: A register location is represented via a Register, not // via an address for efficiency & simplicity reasons. class ArrayAddress; ! class Address VALUE_OBJ_CLASS_SPEC { public: enum ScaleFactor { no_scale = -1, times_1 = 0, times_2 = 1, --- 153,163 ---- // Note: A register location is represented via a Register, not // via an address for efficiency & simplicity reasons. class ArrayAddress; ! class Address { public: enum ScaleFactor { no_scale = -1, times_1 = 0, times_2 = 1,
*** 331,341 **** // MacroAssembler does not have to implement every instruction in the Assembler // in order to search for address literals that may need special handling depending // on the instruction and the platform. As small step on the way to merging i486/amd64 // directories. // ! class AddressLiteral VALUE_OBJ_CLASS_SPEC { friend class ArrayAddress; RelocationHolder _rspec; // Typically we use AddressLiterals we want to use their rval // However in some situations we want the lval (effect address) of the item. // We provide a special factory for making those lvals. --- 331,341 ---- // MacroAssembler does not have to implement every instruction in the Assembler // in order to search for address literals that may need special handling depending // on the instruction and the platform. As small step on the way to merging i486/amd64 // directories. // ! class AddressLiteral { friend class ArrayAddress; RelocationHolder _rspec; // Typically we use AddressLiterals we want to use their rval // However in some situations we want the lval (effect address) of the item. // We provide a special factory for making those lvals.
*** 421,431 **** // x86 can do array addressing as a single operation since disp can be an absolute // address amd64 can't. We create a class that expresses the concept but does extra // magic on amd64 to get the final result ! class ArrayAddress VALUE_OBJ_CLASS_SPEC { private: AddressLiteral _base; Address _index; --- 421,431 ---- // x86 can do array addressing as a single operation since disp can be an absolute // address amd64 can't. We create a class that expresses the concept but does extra // magic on amd64 to get the final result ! class ArrayAddress { private: AddressLiteral _base; Address _index;
< prev index next >