29
30 // This is included in the middle of class Interpreter.
31 // Do not include files here.
32
33 // native method calls
34
35 class SignatureHandlerGenerator: public NativeSignatureIterator {
36 private:
37 MacroAssembler* _masm;
38 unsigned int _num_reg_fp_args;
39 unsigned int _num_reg_int_args;
40 int _stack_offset;
41
42 void pass_byte();
43 void pass_short();
44 void pass_int();
45 void pass_long();
46 void pass_float();
47 void pass_double();
48 void pass_object();
49
50 Register next_gpr();
51 FloatRegister next_fpr();
52 int next_stack_offset(unsigned elem_size);
53
54 public:
55 // Creation
56 SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer);
57
58 // Code generation
59 void generate(uint64_t fingerprint);
60
61 // Code generation support
62 static Register from();
63 static Register to();
64 static Register temp();
65 };
66
67 #endif // CPU_AARCH64_INTERPRETERRT_AARCH64_HPP
|
29
30 // This is included in the middle of class Interpreter.
31 // Do not include files here.
32
33 // native method calls
34
35 class SignatureHandlerGenerator: public NativeSignatureIterator {
36 private:
37 MacroAssembler* _masm;
38 unsigned int _num_reg_fp_args;
39 unsigned int _num_reg_int_args;
40 int _stack_offset;
41
42 void pass_byte();
43 void pass_short();
44 void pass_int();
45 void pass_long();
46 void pass_float();
47 void pass_double();
48 void pass_object();
49 void pass_valuetype();
50
51 Register next_gpr();
52 FloatRegister next_fpr();
53 int next_stack_offset(unsigned elem_size);
54
55 public:
56 // Creation
57 SignatureHandlerGenerator(const methodHandle& method, CodeBuffer* buffer);
58
59 // Code generation
60 void generate(uint64_t fingerprint);
61
62 // Code generation support
63 static Register from();
64 static Register to();
65 static Register temp();
66 };
67
68 #endif // CPU_AARCH64_INTERPRETERRT_AARCH64_HPP
|