Lines Matching refs:stack

534 static bool Evaluate_DW_OP_entry_value(std::vector<Value> &stack,  in Evaluate_DW_OP_entry_value()  argument
740 stack.push_back(result); in Evaluate_DW_OP_entry_value()
869 std::vector<Value> stack; in Evaluate() local
884 stack.push_back(*initial_value_ptr); in Evaluate()
916 size_t count = stack.size(); in Evaluate()
922 stack[i].Dump(&new_value); in Evaluate()
933 stack.push_back(Scalar(opcodes.GetAddress(&offset))); in Evaluate()
938 stack.back().SetValueType(Value::ValueType::LoadAddress); in Evaluate()
940 stack.back().SetValueType(Value::ValueType::FileAddress); in Evaluate()
988 if (stack.empty()) { in Evaluate()
993 Value::ValueType value_type = stack.back().GetValueType(); in Evaluate()
996 void *src = (void *)stack.back().GetScalar().ULongLong(); in Evaluate()
999 stack.back().GetScalar() = ptr; in Evaluate()
1000 stack.back().ClearContext(); in Evaluate()
1003 auto file_addr = stack.back().GetScalar().ULongLong( in Evaluate()
1013 stack.back().GetScalar() = *maybe_load_addr; in Evaluate()
1019 stack.back().SetValueType(Value::ValueType::LoadAddress); in Evaluate()
1025 stack.back().GetScalar().ULongLong(LLDB_INVALID_ADDRESS); in Evaluate()
1032 stack.back().GetScalar() = pointer_value; in Evaluate()
1033 stack.back().ClearContext(); in Evaluate()
1076 if (stack.empty()) { in Evaluate()
1083 Value::ValueType value_type = stack.back().GetValueType(); in Evaluate()
1086 void *src = (void *)stack.back().GetScalar().ULongLong(); in Evaluate()
1122 stack.back().GetScalar() = ptr; in Evaluate()
1123 stack.back().ClearContext(); in Evaluate()
1127 stack.back().GetScalar().ULongLong(LLDB_INVALID_ADDRESS); in Evaluate()
1148 stack.back().GetScalar() = DerefSizeExtractDataHelper( in Evaluate()
1150 stack.back().ClearContext(); in Evaluate()
1161 stack.back().GetScalar() = load_addr; in Evaluate()
1171 stack.back().GetScalar().ULongLong(LLDB_INVALID_ADDRESS); in Evaluate()
1177 stack.back().GetScalar() = in Evaluate()
1180 stack.back().ClearContext(); in Evaluate()
1258 stack.push_back(to_generic(opcodes.GetU8(&offset))); in Evaluate()
1261 stack.push_back(to_generic((int8_t)opcodes.GetU8(&offset))); in Evaluate()
1264 stack.push_back(to_generic(opcodes.GetU16(&offset))); in Evaluate()
1267 stack.push_back(to_generic((int16_t)opcodes.GetU16(&offset))); in Evaluate()
1270 stack.push_back(to_generic(opcodes.GetU32(&offset))); in Evaluate()
1273 stack.push_back(to_generic((int32_t)opcodes.GetU32(&offset))); in Evaluate()
1276 stack.push_back(to_generic(opcodes.GetU64(&offset))); in Evaluate()
1279 stack.push_back(to_generic((int64_t)opcodes.GetU64(&offset))); in Evaluate()
1284 stack.push_back(Scalar(opcodes.GetULEB128(&offset))); in Evaluate()
1287 stack.push_back(Scalar(opcodes.GetSLEB128(&offset))); in Evaluate()
1294 if (stack.empty()) { in Evaluate()
1299 stack.push_back(stack.back()); in Evaluate()
1306 if (stack.empty()) { in Evaluate()
1311 stack.pop_back(); in Evaluate()
1319 if (stack.size() < 2) { in Evaluate()
1325 stack.push_back(stack[stack.size() - 2]); in Evaluate()
1334 if (pick_idx < stack.size()) in Evaluate()
1335 stack.push_back(stack[stack.size() - 1 - pick_idx]); in Evaluate()
1350 if (stack.size() < 2) { in Evaluate()
1356 tmp = stack.back(); in Evaluate()
1357 stack.back() = stack[stack.size() - 2]; in Evaluate()
1358 stack[stack.size() - 2] = tmp; in Evaluate()
1369 if (stack.size() < 3) { in Evaluate()
1375 size_t last_idx = stack.size() - 1; in Evaluate()
1376 Value old_top = stack[last_idx]; in Evaluate()
1377 stack[last_idx] = stack[last_idx - 1]; in Evaluate()
1378 stack[last_idx - 1] = stack[last_idx - 2]; in Evaluate()
1379 stack[last_idx - 2] = old_top; in Evaluate()
1389 if (stack.empty()) { in Evaluate()
1394 } else if (!stack.back().ResolveValue(exe_ctx).AbsoluteValue()) { in Evaluate()
1407 if (stack.size() < 2) { in Evaluate()
1413 tmp = stack.back(); in Evaluate()
1414 stack.pop_back(); in Evaluate()
1415 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1416 stack.back().ResolveValue(exe_ctx) & tmp.ResolveValue(exe_ctx); in Evaluate()
1426 if (stack.size() < 2) { in Evaluate()
1432 tmp = stack.back(); in Evaluate()
1438 stack.pop_back(); in Evaluate()
1439 stack.back() = in Evaluate()
1440 stack.back().ResolveValue(exe_ctx) / tmp.ResolveValue(exe_ctx); in Evaluate()
1441 if (!stack.back().ResolveValue(exe_ctx).IsValid()) { in Evaluate()
1455 if (stack.size() < 2) { in Evaluate()
1461 tmp = stack.back(); in Evaluate()
1462 stack.pop_back(); in Evaluate()
1463 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1464 stack.back().ResolveValue(exe_ctx) - tmp.ResolveValue(exe_ctx); in Evaluate()
1474 if (stack.size() < 2) { in Evaluate()
1480 tmp = stack.back(); in Evaluate()
1481 stack.pop_back(); in Evaluate()
1482 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1483 stack.back().ResolveValue(exe_ctx) % tmp.ResolveValue(exe_ctx); in Evaluate()
1492 if (stack.size() < 2) { in Evaluate()
1498 tmp = stack.back(); in Evaluate()
1499 stack.pop_back(); in Evaluate()
1500 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1501 stack.back().ResolveValue(exe_ctx) * tmp.ResolveValue(exe_ctx); in Evaluate()
1509 if (stack.empty()) { in Evaluate()
1515 if (!stack.back().ResolveValue(exe_ctx).UnaryNegate()) { in Evaluate()
1528 if (stack.empty()) { in Evaluate()
1534 if (!stack.back().ResolveValue(exe_ctx).OnesComplement()) { in Evaluate()
1547 if (stack.size() < 2) { in Evaluate()
1553 tmp = stack.back(); in Evaluate()
1554 stack.pop_back(); in Evaluate()
1555 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1556 stack.back().ResolveValue(exe_ctx) | tmp.ResolveValue(exe_ctx); in Evaluate()
1565 if (stack.size() < 2) { in Evaluate()
1571 tmp = stack.back(); in Evaluate()
1572 stack.pop_back(); in Evaluate()
1573 stack.back().GetScalar() += tmp.GetScalar(); in Evaluate()
1582 if (stack.empty()) { in Evaluate()
1590 stack.back().GetScalar() += uconst_value; in Evaluate()
1591 if (!stack.back().GetScalar().IsValid()) { in Evaluate()
1605 if (stack.size() < 2) { in Evaluate()
1611 tmp = stack.back(); in Evaluate()
1612 stack.pop_back(); in Evaluate()
1613 stack.back().ResolveValue(exe_ctx) <<= tmp.ResolveValue(exe_ctx); in Evaluate()
1623 if (stack.size() < 2) { in Evaluate()
1629 tmp = stack.back(); in Evaluate()
1630 stack.pop_back(); in Evaluate()
1631 if (!stack.back().ResolveValue(exe_ctx).ShiftRightLogical( in Evaluate()
1647 if (stack.size() < 2) { in Evaluate()
1653 tmp = stack.back(); in Evaluate()
1654 stack.pop_back(); in Evaluate()
1655 stack.back().ResolveValue(exe_ctx) >>= tmp.ResolveValue(exe_ctx); in Evaluate()
1664 if (stack.size() < 2) { in Evaluate()
1670 tmp = stack.back(); in Evaluate()
1671 stack.pop_back(); in Evaluate()
1672 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1673 stack.back().ResolveValue(exe_ctx) ^ tmp.ResolveValue(exe_ctx); in Evaluate()
1708 if (stack.empty()) { in Evaluate()
1714 tmp = stack.back(); in Evaluate()
1715 stack.pop_back(); in Evaluate()
1744 if (stack.size() < 2) { in Evaluate()
1750 tmp = stack.back(); in Evaluate()
1751 stack.pop_back(); in Evaluate()
1752 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1753 stack.back().ResolveValue(exe_ctx) == tmp.ResolveValue(exe_ctx); in Evaluate()
1765 if (stack.size() < 2) { in Evaluate()
1771 tmp = stack.back(); in Evaluate()
1772 stack.pop_back(); in Evaluate()
1773 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1774 stack.back().ResolveValue(exe_ctx) >= tmp.ResolveValue(exe_ctx); in Evaluate()
1786 if (stack.size() < 2) { in Evaluate()
1792 tmp = stack.back(); in Evaluate()
1793 stack.pop_back(); in Evaluate()
1794 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1795 stack.back().ResolveValue(exe_ctx) > tmp.ResolveValue(exe_ctx); in Evaluate()
1807 if (stack.size() < 2) { in Evaluate()
1813 tmp = stack.back(); in Evaluate()
1814 stack.pop_back(); in Evaluate()
1815 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1816 stack.back().ResolveValue(exe_ctx) <= tmp.ResolveValue(exe_ctx); in Evaluate()
1828 if (stack.size() < 2) { in Evaluate()
1834 tmp = stack.back(); in Evaluate()
1835 stack.pop_back(); in Evaluate()
1836 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1837 stack.back().ResolveValue(exe_ctx) < tmp.ResolveValue(exe_ctx); in Evaluate()
1849 if (stack.size() < 2) { in Evaluate()
1855 tmp = stack.back(); in Evaluate()
1856 stack.pop_back(); in Evaluate()
1857 stack.back().ResolveValue(exe_ctx) = in Evaluate()
1858 stack.back().ResolveValue(exe_ctx) != tmp.ResolveValue(exe_ctx); in Evaluate()
1899 stack.push_back(to_generic(op - DW_OP_lit0)); in Evaluate()
1941 stack.push_back(tmp); in Evaluate()
1953 stack.push_back(tmp); in Evaluate()
2002 stack.push_back(tmp); in Evaluate()
2003 stack.back().SetValueType(Value::ValueType::LoadAddress); in Evaluate()
2021 stack.push_back(tmp); in Evaluate()
2022 stack.back().SetValueType(Value::ValueType::LoadAddress); in Evaluate()
2034 stack.push_back(value); in Evaluate()
2035 stack.back().SetValueType(Value::ValueType::LoadAddress); in Evaluate()
2083 if (stack.empty()) { in Evaluate()
2099 Value curr_piece_source_value(stack.back()); in Evaluate()
2100 stack.pop_back(); in Evaluate()
2212 if (stack.size() < 1) { in Evaluate()
2223 log, dwarf_cu, dwarf4_location_description_kind, &stack.back()); in Evaluate()
2228 switch (stack.back().GetValueType()) { in Evaluate()
2232 if (!stack.back().GetScalar().ExtractBitfield(piece_bit_size, in Evaluate()
2239 (uint64_t)(stack.back().GetScalar().GetByteSize() * 8)); in Evaluate()
2279 stack.push_back(result); in Evaluate()
2299 stack.push_back(*object_address_ptr); in Evaluate()
2361 if (stack.empty()) { in Evaluate()
2367 stack.back().SetValueType(Value::ValueType::Scalar); in Evaluate()
2378 if (stack.size() < 1) { in Evaluate()
2439 Scalar &top = stack.back().ResolveValue(exe_ctx); in Evaluate()
2456 stack.push_back(Scalar(cfa)); in Evaluate()
2457 stack.back().SetValueType(Value::ValueType::LoadAddress); in Evaluate()
2478 if (stack.size() < 1) { in Evaluate()
2505 stack.back().GetScalar().ULongLong(LLDB_INVALID_ADDRESS); in Evaluate()
2516 stack.back().GetScalar() = tls_load_addr; in Evaluate()
2517 stack.back().SetValueType(Value::ValueType::LoadAddress); in Evaluate()
2536 stack.push_back(Scalar(value)); in Evaluate()
2541 stack.back().SetValueType(Value::ValueType::LoadAddress); in Evaluate()
2543 stack.back().SetValueType(Value::ValueType::FileAddress); in Evaluate()
2563 stack.push_back(Scalar(value)); in Evaluate()
2568 if (!Evaluate_DW_OP_entry_value(stack, exe_ctx, reg_ctx, opcodes, offset, in Evaluate()
2580 op, opcodes, offset, stack)) { in Evaluate()
2591 if (stack.empty()) { in Evaluate()
2604 log, dwarf_cu, dwarf4_location_description_kind, &stack.back()); in Evaluate()
2607 size_t count = stack.size(); in Evaluate()
2613 stack[i].Dump(&new_value); in Evaluate()
2617 result = stack.back(); in Evaluate()