| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 // The isolate parameter can be NULL if the macro assembler should | 85 // The isolate parameter can be NULL if the macro assembler should |
| 86 // not use isolate-dependent functionality. In this case, it's the | 86 // not use isolate-dependent functionality. In this case, it's the |
| 87 // responsibility of the caller to never invoke such function on the | 87 // responsibility of the caller to never invoke such function on the |
| 88 // macro assembler. | 88 // macro assembler. |
| 89 MacroAssembler(Isolate* isolate, void* buffer, int size); | 89 MacroAssembler(Isolate* isolate, void* buffer, int size); |
| 90 | 90 |
| 91 // Jump, Call, and Ret pseudo instructions implementing inter-working. | 91 // Jump, Call, and Ret pseudo instructions implementing inter-working. |
| 92 void Jump(Register target, Condition cond = al); | 92 void Jump(Register target, Condition cond = al); |
| 93 void Jump(byte* target, RelocInfo::Mode rmode, Condition cond = al); | 93 void Jump(byte* target, RelocInfo::Mode rmode, Condition cond = al); |
| 94 void Jump(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al); | 94 void Jump(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al); |
| 95 int CallSize(Register target, Condition cond = al); | 95 static int CallSize(Register target, Condition cond = al); |
| 96 void Call(Register target, Condition cond = al); | 96 void Call(Register target, Condition cond = al); |
| 97 int CallSize(byte* target, RelocInfo::Mode rmode, Condition cond = al); | 97 static int CallSize(byte* target, RelocInfo::Mode rmode, Condition cond = al); |
| 98 void Call(byte* target, RelocInfo::Mode rmode, Condition cond = al); | 98 void Call(byte* target, RelocInfo::Mode rmode, Condition cond = al); |
| 99 int CallSize(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al); | 99 static int CallSize(Handle<Code> code, |
| 100 RelocInfo::Mode rmode, |
| 101 Condition cond = al); |
| 100 void Call(Handle<Code> code, | 102 void Call(Handle<Code> code, |
| 101 RelocInfo::Mode rmode, | 103 RelocInfo::Mode rmode, |
| 102 Condition cond = al); | 104 Condition cond = al); |
| 103 void CallWithAstId(Handle<Code> code, | 105 void CallWithAstId(Handle<Code> code, |
| 104 RelocInfo::Mode rmode, | 106 RelocInfo::Mode rmode, |
| 105 unsigned ast_id, | 107 unsigned ast_id, |
| 106 Condition cond = al); | 108 Condition cond = al); |
| 107 void Ret(Condition cond = al); | 109 void Ret(Condition cond = al); |
| 108 | 110 |
| 109 // Emit code to discard a non-negative number of pointer-sized elements | 111 // Emit code to discard a non-negative number of pointer-sized elements |
| (...skipping 908 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1018 void LoadInstanceDescriptors(Register map, Register descriptors); | 1020 void LoadInstanceDescriptors(Register map, Register descriptors); |
| 1019 | 1021 |
| 1020 private: | 1022 private: |
| 1021 void CallCFunctionHelper(Register function, | 1023 void CallCFunctionHelper(Register function, |
| 1022 ExternalReference function_reference, | 1024 ExternalReference function_reference, |
| 1023 Register scratch, | 1025 Register scratch, |
| 1024 int num_reg_arguments, | 1026 int num_reg_arguments, |
| 1025 int num_double_arguments); | 1027 int num_double_arguments); |
| 1026 | 1028 |
| 1027 void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); | 1029 void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); |
| 1028 int CallSize(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); | 1030 static int CallSize(intptr_t target, |
| 1031 RelocInfo::Mode rmode, |
| 1032 Condition cond = al); |
| 1029 void Call(intptr_t target, | 1033 void Call(intptr_t target, |
| 1030 RelocInfo::Mode rmode, | 1034 RelocInfo::Mode rmode, |
| 1031 Condition cond = al); | 1035 Condition cond = al); |
| 1032 | 1036 |
| 1033 // Helper functions for generating invokes. | 1037 // Helper functions for generating invokes. |
| 1034 void InvokePrologue(const ParameterCount& expected, | 1038 void InvokePrologue(const ParameterCount& expected, |
| 1035 const ParameterCount& actual, | 1039 const ParameterCount& actual, |
| 1036 Handle<Code> code_constant, | 1040 Handle<Code> code_constant, |
| 1037 Register code_reg, | 1041 Register code_reg, |
| 1038 Label* done, | 1042 Label* done, |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1118 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1122 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 1119 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1123 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 1120 #else | 1124 #else |
| 1121 #define ACCESS_MASM(masm) masm-> | 1125 #define ACCESS_MASM(masm) masm-> |
| 1122 #endif | 1126 #endif |
| 1123 | 1127 |
| 1124 | 1128 |
| 1125 } } // namespace v8::internal | 1129 } } // namespace v8::internal |
| 1126 | 1130 |
| 1127 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1131 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
| OLD | NEW |