Lines Matching full:vm
52 bool IsEqual(EcmaVM *vm, Local<JSValueRef> jsArg0, Local<JSValueRef> jsArg1) in IsEqual() argument
54 if (jsArg0->IsStrictEquals(vm, jsArg1)) { in IsEqual()
56 } else if ((jsArg0->IsJSArray(vm) && jsArg1->IsJSArray(vm))) { in IsEqual()
59 uint32_t length = arr0->Length(vm); in IsEqual()
60 if (length != arr1->Length(vm)) { in IsEqual()
64 Local<JSValueRef> arg0 = ArrayRef::GetValueAt(vm, arr0, i); in IsEqual()
65 Local<JSValueRef> arg1 = ArrayRef::GetValueAt(vm, arr1, i); in IsEqual()
66 if (!IsEqual(vm, arg0, arg1)) { in IsEqual()
77 EcmaVM *vm = runtimeInfo->GetVM(); in AssertEqual() local
82 auto error = panda::Exception::TypeError(vm, StringRef::NewFromUtf8(vm, errStr.c_str())); in AssertEqual()
83 panda::JSNApi::ThrowException(vm, error); in AssertEqual()
84 return JSValueRef::Undefined(vm); in AssertEqual()
90 if (!IsEqual(vm, jsArg0, jsArg1)) { in AssertEqual()
91 … std::string errStr = std::string("Assertion failed: ").append(jsArg0->ToString(vm)->ToString(vm)) in AssertEqual()
92 .append(" != ").append(jsArg1->ToString(vm)->ToString(vm)); in AssertEqual()
93 auto error = panda::Exception::TypeError(vm, StringRef::NewFromUtf8(vm, errStr.c_str())); in AssertEqual()
94 panda::JSNApi::ThrowException(vm, error); in AssertEqual()
97 return JSValueRef::Undefined(vm); in AssertEqual()
102 EcmaVM *vm = runtimeInfo->GetVM(); in AssertTrue() local
107 auto error = panda::Exception::TypeError(vm, StringRef::NewFromUtf8(vm, errStr.c_str())); in AssertTrue()
108 panda::JSNApi::ThrowException(vm, error); in AssertTrue()
109 return JSValueRef::Undefined(vm); in AssertTrue()
115 …string errStr = std::string("Assertion failed: Expect ").append(jsArg0->ToString(vm)->ToString(vm)) in AssertTrue()
117 auto error = panda::Exception::TypeError(vm, StringRef::NewFromUtf8(vm, errStr.c_str())); in AssertTrue()
118 panda::JSNApi::ThrowException(vm, error); in AssertTrue()
121 return JSValueRef::Undefined(vm); in AssertTrue()
126 EcmaVM *vm = runtimeInfo->GetVM(); in AssertUnreachable() local
129 return JSValueRef::Undefined(vm); in AssertUnreachable()
132 bool ExecutePandaFile(EcmaVM *vm, JSRuntimeOptions &runtimeOptions, std::string &files) in ExecutePandaFile() argument
135 LocalScope scope(vm); in ExecutePandaFile()
144 context1 = JSNApi::CreateJSContext(vm); in ExecutePandaFile()
145 JSNApi::SwitchCurrentContext(vm, context1); in ExecutePandaFile()
148 Local<ObjectRef> globalObj = JSNApi::GetGlobalObject(vm); in ExecutePandaFile()
149 Local<FunctionRef> assertEqual = FunctionRef::New(vm, AssertEqual); in ExecutePandaFile()
150 globalObj->Set(vm, StringRef::NewFromUtf8(vm, "assert_equal"), assertEqual); in ExecutePandaFile()
151 Local<FunctionRef> assertTrue = FunctionRef::New(vm, AssertTrue); in ExecutePandaFile()
152 globalObj->Set(vm, StringRef::NewFromUtf8(vm, "assert_true"), assertTrue); in ExecutePandaFile()
153 Local<FunctionRef> assertUnreachable = FunctionRef::New(vm, AssertUnreachable); in ExecutePandaFile()
154 globalObj->Set(vm, StringRef::NewFromUtf8(vm, "assert_unreachable"), assertUnreachable); in ExecutePandaFile()
157 JSNApi::LoadAotFile(vm, ""); in ExecutePandaFile()
161 auto res = JSNApi::Execute(vm, fileName, entry); in ExecutePandaFile()
170 JSNApi::DestroyJSContext(vm, context1); in ExecutePandaFile()
213 EcmaVM *vm = JSNApi::CreateEcmaVM(runtimeOptions); in Main() local
214 if (vm == nullptr) { in Main()
215 std::cerr << "Cannot Create vm" << std::endl; in Main()
220 JSNApi::SetBundle(vm, !isMergeAbc); in Main()
221 ret = ExecutePandaFile(vm, runtimeOptions, files); in Main()
223 JSNApi::DestroyJSVM(vm); in Main()