Closed AbhiTheModder closed 6 months ago
Sorry. Dart 2.8 is too old for this project. I have no plan to support it.
Sorry. Dart 2.8 is too old for this project. I have no plan to support it.
No probs... Thanks for pointing it out and your time on it :)
Dart 2.10.5 is the same?
AILED: CMakeFiles/blutter_dartvm2.10.5_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o
/usr/bin/c++ -DDART_COMPRESSED_POINTERS -DDART_PRECOMPILED_RUNTIME -DDART_TARGET_OS_ANDROID -DDART_TARGET_OS_WINDOWS_UWP -DEXCLUDE_CFE_AND_KERNEL_PLATFORM -DFRIDA_TEMPLATE_DIR=\"/home/ql/桌面/blutter/scripts\" -DHAS_SHARED_CLASS_TABLE -DHAS_TYPE_REF -DNDEBUG -DPRODUCT -DTARGET_ARCH_ARM64 -DU_USING_ICU_NAMESPACE=0 -D_HAS_EXCEPTIONS=0 -I/usr/include/capstone -isystem /home/ql/桌面/blutter/packages/include/dartvm2.10.5 -O3 -DNDEBUG -std=c++20 -O3 -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden -fno-omit-frame-pointer -Winvalid-pch -include /home/ql/桌面/blutter/build/blutter_dartvm2.10.5_android_arm64/CMakeFiles/blutter_dartvm2.10.5_android_arm64.dir/cmake_pch.hxx -MD -MT CMakeFiles/blutter_dartvm2.10.5_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o -MF CMakeFiles/blutter_dartvm2.10.5_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o.d -o CMakeFiles/blutter_dartvm2.10.5_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o -c '/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp'
In file included from /home/ql/桌面/blutter/blutter/src/Disassembler.h:5,
from /home/ql/桌面/blutter/blutter/src/CodeAnalyzer.h:2,
from /home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:2:
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:84:59: error: ‘HEAP_BITS’ is not a member of ‘dart’
84 | constexpr arm64_reg CSREG_DART_HEAP = ToCapstoneReg(dart::HEAP_BITS);
| ^~~~~
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:88:71: error: ‘dart::AllocateObjectABI’ has not been declared
88 | constexpr arm64_reg CSREG_ALLOCATE_OBJ_TYPEARGS = ToCapstoneReg(dart::AllocateObjectABI::kTypeArgumentsReg);
| ^~~~~
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:89:75: error: ‘dart::AllocateClosureABI’ has not been declared
89 | constexpr arm64_reg CSREG_ALLOCATE_CLOSURE_FUNCTION = ToCapstoneReg(dart::AllocateClosureABI::kFunctionReg);
| ^~~~~~
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:90:74: error: ‘dart::AllocateClosureABI’ has not been declared
90 | constexpr arm64_reg CSREG_ALLOCATE_CLOSURE_CONTEXT = ToCapstoneReg(dart::AllocateClosureABI::kContextReg);
| ^~~~~~
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:91:74: error: ‘dart::AllocateClosureABI’ has not been declared
91 | constexpr arm64_reg CSREG_ALLOCATE_CLOSURE_SCRATCH = ToCapstoneReg(dart::AllocateClosureABI::kScratchReg);
| ^~~~~~
In file included from /home/ql/桌面/blutter/blutter/src/DartField.h:3,
from /home/ql/桌面/blutter/blutter/src/DartClass.h:3,
from /home/ql/桌面/blutter/blutter/src/VarValue.h:2,
from /home/ql/桌面/blutter/blutter/src/il.h:3,
from /home/ql/桌面/blutter/blutter/src/CodeAnalyzer.h:3:
/home/ql/桌面/blutter/blutter/src/DartTypes.h:218:37: error: ‘dart::FunctionTypePtr’ has not been declared
218 | DartFunctionType FindOrAdd(dart::FunctionTypePtr fnTypePtr);
| ^~~~
/home/ql/桌面/blutter/blutter/src/VarValue.h: In member function ‘int VarArray::ElementSize()’:
/home/ql/桌面/blutter/blutter/src/VarValue.h:164:30: error: ‘kCompressedWordSize’ is not a member of ‘dart’
164 | return dart::kCompressedWordSize;
| ^~~~~~~
/home/ql/桌面/blutter/blutter/src/VarValue.h: In member function ‘int VarGrowableArray::ElementSize()’:
/home/ql/桌面/blutter/blutter/src/VarValue.h:186:30: error: ‘kCompressedWordSize’ is not a member of ‘dart’
186 | return dart::kCompressedWordSize;
| ^~~~~~~
/home/ql/桌面/blutter/blutter/src/VarValue.h: In constructor ‘VarFunctionType::VarFunctionType(const DartFunctionType&)’:
/home/ql/桌面/blutter/blutter/src/VarValue.h:246:83: error: ‘kFunctionTypeCid’ is not a member of ‘dart’; did you mean ‘kFunctionCid’?
246 | explicit VarFunctionType(const DartFunctionType& fnType) : VarValue(dart::kFunctionTypeCid, true), fnType(fnType) {}
| ^~~~
| kFunctionCid
/home/ql/桌面/blutter/blutter/src/VarValue.h: In constructor ‘VarSentinel::VarSentinel()’:
/home/ql/桌面/blutter/blutter/src/VarValue.h:261:49: error: ‘kSentinelCid’ is not a member of ‘dart’
261 | explicit VarSentinel() : VarValue(dart::kSentinelCid, false) {}
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp: In function ‘VarValue getPoolObject(DartApp&, intptr_t, A64::Register)’:
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:69:67: error: ‘class dart::ClassPtr’ has no member named ‘untag’
69 | auto dartCls = app.GetClass(field.Owner().untag()->id());
| ^~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:76:68: error: ‘const class dart::Array’ has no member named ‘ptr’
76 | return new VarArray(dart::Array::Cast(obj).ptr());
| ^~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:80:28: error: ‘kConstMapCid’ is not a member of ‘dart’; did you mean ‘kContextCid’?
80 | case dart::kConstMapCid:
| ^~~~
| kContextCid
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:82:28: error: ‘kConstSetCid’ is not a member of ‘dart’; did you mean ‘kContextCid’?
82 | case dart::kConstSetCid:
| ^~~~
| kContextCid
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:92:28: error: ‘kTypeParametersCid’ is not a member of ‘dart’; did you mean ‘kTypeParameterCid’?
92 | case dart::kTypeParametersCid:
| ^~~~~~
| kTypeParameterCid
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:95:91: error: ‘const class dart::Type’ has no member named ‘ptr’
95 | return new VarType(app.TypeDb()->FindOrAdd(dart::Type::Cast(obj).ptr()));
| ^~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:101:109: error: ‘const class dart::TypeParameter’ has no member named ‘ptr’
101 | return new VarTypeParameter(app.TypeDb()->FindOrAdd(dart::TypeParameter::Cast(obj).ptr()));
| ^~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:102:28: error: ‘kFunctionTypeCid’ is not a member of ‘dart’; did you mean ‘kFunctionCid’?
102 | case dart::kFunctionTypeCid:
| ^~~~
| kFunctionCid
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:103:83: error: ‘dart::FunctionType’ has not been declared
103 | return new VarFunctionType(app.TypeDb()->FindOrAdd(dart::FunctionType::Cast(obj).ptr()));
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:105:108: error: ‘const class dart::TypeArguments’ has no member named ‘ptr’
105 | return new VarTypeArgument(app.TypeDb()->FindOrAdd(dart::TypeArguments::Cast(obj).ptr()));
| ^~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:107:28: error: ‘kSentinelCid’ is not a member of ‘dart’
107 | case dart::kSentinelCid:
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp: In member function ‘ILResult FunctionAnalyzer::processLoadFieldTableInstr(AsmInstruction)’:
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1186:137: error: ‘kSentinelCid’ is not a member of ‘dart’
1186 | if (objPoolInstr.insCnt == 0 || objPoolInstr.dstReg != A64::TMP_REG || objPoolInstr.item.ValueTypeId() != dart::kSentinelCid) {
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1218:83: error: ‘InitLateStaticFieldStub’ is not a member of ‘DartStub’
1218 | INSN_ASSERT(stubKind == DartStub::InitLateStaticFieldStub || stubKind == DartStub::InitLateFinalStaticFieldStub);
| ^~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:20:15: note: in definition of macro ‘INSN_ASSERT’
20 | if (!(cond)) throw InsnException(#cond, insn.ptr()); \
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1218:132: error: ‘InitLateFinalStaticFieldStub’ is not a member of ‘DartStub’
1218 | INSN_ASSERT(stubKind == DartStub::InitLateStaticFieldStub || stubKind == DartStub::InitLateFinalStaticFieldStub);
| ^~~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:20:15: note: in definition of macro ‘INSN_ASSERT’
20 | if (!(cond)) throw InsnException(#cond, insn.ptr()); \
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1251:108: error: ‘LateInitializationErrorABI’ is not a member of ‘dart’
1251 | if (objPoolInstr.insCnt > 0 && objPoolInstr.dstReg == A64::Register{ dart::LateInitializationErrorABI::kFieldReg } && objPoolInstr.item.ValueTypeId() == dart::kFieldCid) {
| ^~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1251:108: error: no matching function for call to ‘A64::Register::Register(~~~
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:230:19: note: conversion of argument 1 would be ill-formed:
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:206:19: note: candidate: ‘constexpr A64::Register::Register(dart::Register)’
206 | constexpr Register(dart::Register r) {
| ^~~~
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:206:19: note: conversion of argument 1 would be ill-formed:
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:204:19: note: candidate: ‘constexpr A64::Register::Register(Value)’
204 | constexpr Register(Value reg) : reg(reg) {}
| ^~~~
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:204:19: note: conversion of argument 1 would be ill-formed:
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:203:19: note: candidate: ‘constexpr A64::Register::Register()’
203 | constexpr Register() : reg(kNoRegister) {}
| ^~~~
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:203:19: note: candidate expects 0 arguments, 1 provided
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:106:24: note: candidate: ‘constexpr A64::Register::Register(const A64::Register&)’
106 | class alignas(int32_t) Register {
| ^~~~
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:106:24: note: conversion of argument 1 would be ill-formed:
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:106:24: note: candidate: ‘constexpr A64::Register::Register(A64::Register&&)’
/home/ql/桌面/blutter/blutter/src/Disassembler_arm64.h:106:24: note: conversion of argument 1 would be ill-formed:
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1251:100: error: expected primary-expression before ‘{’ token
1251 | if (objPoolInstr.insCnt > 0 && objPoolInstr.dstReg == A64::Register{ dart::LateInitializationErrorABI::kFieldReg } && objPoolInstr.item.ValueTypeId() == dart::kFieldCid) {
| ^
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1251:100: error: expected ‘)’ before ‘{’ token
1251 | if (objPoolInstr.insCnt > 0 && objPoolInstr.dstReg == A64::Register{ dart::LateInitializationErrorABI::kFieldReg } && objPoolInstr.item.ValueTypeId() == dart::kFieldCid) {
| ~ ^
| )
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1259:77: error: ‘LateInitializationErrorSharedWithoutFPURegsStub’ is not a member of ‘DartStub’
1259 | INSN_ASSERT(stub->kind == DartStub::LateInitializationErrorSharedWithoutFPURegsStub || stub->kind == DartStub::LateInitializationErrorSharedWithFPURegsStub);
| ^~~~~~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:20:15: note: in definition of macro ‘INSN_ASSERT’
20 | if (!(cond)) throw InsnException(#cond, insn.ptr()); \
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1259:152: error: ‘LateInitializationErrorSharedWithFPURegsStub’ is not a member of ‘DartStub’
1259 | INSN_ASSERT(stub->kind == DartStub::LateInitializationErrorSharedWithoutFPURegsStub || stub->kind == DartStub::LateInitializationErrorSharedWithFPURegsStub);
| ^~~~~~~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:20:15: note: in definition of macro ‘INSN_ASSERT’
20 | if (!(cond)) throw InsnException(#cond, insn.ptr()); \
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp: In member function ‘ILResult FunctionAnalyzer::processGdtCallInstr(AsmInstruction)’:
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1326:56: error: ‘dart::DispatchTableNullErrorABI’ has not been declared
1326 | insn.ops[1].reg == ToCapstoneReg(dart::DispatchTableNullErrorABI::kClassIdReg))
| ^~~~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp: In member function ‘ILResult FunctionAnalyzer::processBranchIfSmiInstr(AsmInstruction)’:
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1482:85: error: ‘kCompressedWordSize’ is not a member of ‘dart’
1482 | if (insn.id() == ARM64_INS_TBZ && insn.ops[1].imm == dart::kSmiTag && dart::kCompressedWordSize == GetCsRegSize(insn.ops[0].reg)) {
| ^~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp: In member function ‘ILResult FunctionAnalyzer::processLoadClassIdInstr(AsmInstruction)’:
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1492:80: error: ‘dart::UntaggedObject’ has not been declared
1492 | if (insn.id() == ARM64_INS_LDUR && insn.ops[1].mem.disp == -1 && dart::UntaggedObject::kClassIdTagPos == 12) {
| ^~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1504:54: error: ‘dart::UntaggedObject’ has not been declared
1504 | INSN_ASSERT(insn.ops[2].imm == dart::UntaggedObject::kClassIdTagPos);
| ^~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:20:15: note: in definition of macro ‘INSN_ASSERT’
20 | if (!(cond)) throw InsnException(#cond, insn.ptr()); \
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1505:54: error: ‘dart::UntaggedObject’ has not been declared
1505 | INSN_ASSERT(insn.ops[3].imm == dart::UntaggedObject::kClassIdTagSize);
| ^~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:20:15: note: in definition of macro ‘INSN_ASSERT’
20 | if (!(cond)) throw InsnException(#cond, insn.ptr()); \
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1508:85: error: ‘dart::UntaggedObject’ has not been declared
1508 | else if (insn.id() == ARM64_INS_LDURH && insn.ops[1].mem.disp == 1 && dart::UntaggedObject::kClassIdTagPos == 16) {
| ^~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp: In member function ‘ILResult FunctionAnalyzer::processLoadStore(AsmInstruction)’:
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1921:132: error: ‘kCompressedWordSize’ is not a member of ‘dart’
1921 | const auto arr_idx = (insn.ops[2].imm + dart::kHeapObjectTag - dart::Array::data_offset()) / dart::kCompressedWordSize;
| ^~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1929:75: error: ‘kCompressedWordSizeLog2’ is not a member of ‘dart’
1929 | (insn.ops[2].shift.value == dart::kCompressedWordSizeLog2 ||
| ^~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:20:15: note: in definition of macro ‘INSN_ASSERT’
20 | if (!(cond)) throw InsnException(#cond, insn.ptr()); \
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1930:83: error: ‘kCompressedWordSizeLog2’ is not a member of ‘dart’
1930 | (insn.ops[2].shift.value == dart::kCompressedWordSizeLog2 - 1 || insn.ops[2].ext == ARM64_EXT_SXTW)));
| ^~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:20:15: note: in definition of macro ‘INSN_ASSERT’
20 | if (!(cond)) throw InsnException(#cond, insn.ptr()); \
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1942:122: error: ‘kCompressedWordSize’ is not a member of ‘dart’
1942 | INSN_ASSERT(A64::Register{ insn.ops[0].reg } == valReg && GetCsRegSize(insn.ops[0].reg) == dart::kCompressedWordSize);
| ^~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:20:15: note: in definition of macro ‘INSN_ASSERT’
20 | if (!(cond)) throw InsnException(#cond, insn.ptr()); \
| ^~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1951:47: error: ‘kCompressedWordSize’ is not a member of ‘dart’
1951 | ArrayOp arrayOp(dart::kCompressedWordSize, false, ArrayOp::List);
| ^~~~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:1995:50: error: ‘dart::UntaggedTypedData’ has not been declared
1995 | bool isTypedData = dart::UntaggedTypedData::payload_offset() - dart::kHeapObjectTag == arr_data_offset;
| ^~~~~
/home/ql/桌面/blutter/blutter/src/CodeAnalyzer_arm64.cpp:2046:113: error: ‘dart::UntaggedTypedData’ has not been declared
2046 | const auto idx = VarStorage::NewSmallImm((offset + dart::kHeapObjectTag - dart::UntaggedTypedData::payload_offset()) / arrayOp.size);
| ^~~~~
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/home/ql/桌面/blutter/blutter.py", line 138, in
I've tried commenting
tagged_pointer.h
also but got no success.Environment: OS:
Ubuntu(20.04)[GH Workspaces, Termux]
ERROR: