Home | History | Annotate | Download | only in arm

Lines Matching full:assembler

32 #include "assembler-arm.h"
939 Address address_after_call = address + Assembler::kCallTargetAddressOffset;
940 Instr instr_after_call = Assembler::instr_at(address_after_call);
946 Address address_after_nop = address_after_call + Assembler::kInstrSize;
947 Instr instr_after_nop = Assembler::instr_at(address_after_nop);
951 while (!Assembler::IsBranch(instr_after_nop)) {
952 address_after_nop += Assembler::kInstrSize;
953 instr_after_nop = Assembler::instr_at(address_after_nop);
958 Assembler::GetBranchOffset(instr_after_nop) + Assembler::kPcLoadDelta;
973 != Assembler::PROPERTY_ACCESS_INLINED) {
981 inline_end_address - Assembler::kInstrSize;
982 ASSERT(Assembler::IsLdrRegisterImmediate(
983 Assembler::instr_at(ldr_property_instr_address)));
984 Instr ldr_property_instr = Assembler::instr_at(ldr_property_instr_address);
985 ldr_property_instr = Assembler::SetLdrRegisterImmediateOffset(
987 Assembler::instr_at_put(ldr_property_instr_address, ldr_property_instr);
990 CPU::FlushICache(ldr_property_instr_address, 1 * Assembler::kInstrSize);
998 inline_end_address + ldr_map_offset * Assembler::kInstrSize;
999 Assembler::set_target_address_at(ldr_map_instr_address,
1013 if (!((marker == Assembler::PROPERTY_ACCESS_INLINED_CONTEXT) ||
1014 (marker == Assembler::PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE))) {
1020 marker == Assembler::PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE;
1032 inline_end_address + ldr_map_offset * Assembler::kInstrSize;
1034 inline_end_address + ldr_cell_offset * Assembler::kInstrSize;
1037 Assembler::set_target_address_at(ldr_map_instr_address,
1040 Assembler::set_target_address_at(ldr_cell_instr_address,
1054 != Assembler::PROPERTY_ACCESS_INLINED) {
1062 Assembler::kInstrSize);
1070 ldr_map_instr_address + 3 * Assembler::kInstrSize;
1071 Instr str_property_instr = Assembler::instr_at(str_property_instr_address);
1072 ASSERT(Assembler::IsStrRegisterImmediate(str_property_instr));
1073 str_property_instr = Assembler::SetStrRegisterImmediateOffset(
1075 Assembler::instr_at_put(str_property_instr_address, str_property_instr);
1080 str_property_instr_address + Assembler::kInstrSize;
1081 Instr add_offset_instr = Assembler::instr_at(add_offset_instr_address);
1082 ASSERT(Assembler::IsAddRegisterImmediate(add_offset_instr));
1083 add_offset_instr = Assembler::SetAddRegisterImmediateOffset(
1085 Assembler::instr_at_put(add_offset_instr_address, add_offset_instr);
1088 CPU::FlushICache(str_property_instr_address, 2 * Assembler::kInstrSize);
1092 Assembler::set_target_address_at(ldr_map_instr_address,
1104 != Assembler::PROPERTY_ACCESS_INLINED) {
1112 Assembler::kInstrSize);
1113 Assembler::set_target_address_at(ldr_map_instr_address,
1126 != Assembler::PROPERTY_ACCESS_INLINED) {
1134 Assembler::kInstrSize);
1135 Assembler::set_target_address_at(ldr_map_instr_address,
1726 address + Assembler::kCallTargetAddressOffset;
1730 Instr instr = Assembler::instr_at(cmp_instruction_address);
1731 if (!Assembler::IsCmpImmediate(instr)) {
1737 int delta = Assembler::GetCmpImmediateRawImmediate(instr);
1739 Assembler::GetCmpImmediateRegister(instr).code() * kOff12Mask;
1755 Instr instr_at_patch = Assembler::instr_at(patch_address);
1757 Assembler::instr_at(patch_address + Instruction::kInstrSize);
1758 ASSERT(Assembler::IsCmpRegister(instr_at_patch));
1759 ASSERT_EQ(Assembler::GetRn(instr_at_patch).code(),
1760 Assembler::GetRm(instr_at_patch).code());
1761 ASSERT(Assembler::IsBranch(branch_instr));
1762 if (Assembler::GetCondition(branch_instr) == eq) {
1771 Register reg = Assembler::GetRn(instr_at_patch);
1775 ASSERT(Assembler::GetCondition(branch_instr) == ne);
1784 Register reg = Assembler::GetRn(instr_at_patch);