• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# plugin interpreter_main_loop
2# Copyright (c) 2021-2025 Huawei Device Co., Ltd.
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15  when "ETS_LDNULLVALUE_PREF_NONE"
16    handle_ets_ldnullvalue()
17  when "ETS_MOVNULLVALUE_PREF_V8"
18    handle_ets_movnullvalue(vreg_ptr(op[0]))
19  when "ETS_ISNULLVALUE_PREF_NONE"
20    handle_ets_isnullvalue()
21
22  when "ETS_LDOBJ_NAME_PREF_V8_ID32"
23    handle_ets_ldobj_name_short(op[0], as_id(op[1]), i.format.size)
24  when "ETS_LDOBJ_NAME_64_PREF_V8_ID32"
25    handle_ets_ldobj_name_long(op[0], as_id(op[1]), i.format.size)
26  when "ETS_LDOBJ_NAME_OBJ_PREF_V8_ID32"
27    handle_ets_ldobj_name_obj(op[0], as_id(op[1]), i.format.size)
28  when "ETS_STOBJ_NAME_PREF_V8_ID32"
29    handle_ets_stobj_name_short(op[0], as_id(op[1]), i.format.size)
30  when "ETS_STOBJ_NAME_64_PREF_V8_ID32"
31    handle_ets_stobj_name_long(op[0], as_id(op[1]), i.format.size)
32  when "ETS_STOBJ_NAME_OBJ_PREF_V8_ID32"
33    handle_ets_stobj_name_obj(op[0], as_id(op[1]), i.format.size)
34
35  when "ETS_EQUALS_PREF_V4_V4"
36    handle_ets_equals(vreg_value(op[0]).ref, vreg_value(op[1]).ref)
37  when "ETS_STRICTEQUALS_PREF_V4_V4"
38    handle_ets_equals_strict(vreg_value(op[0]).ref, vreg_value(op[1]).ref)
39  when "ETS_TYPEOF_PREF_V8"
40    handle_ets_typeof(vreg_value(op[0]).ref)
41  when "ETS_ISTRUE_PREF_V8"
42    handle_ets_istrue(vreg_value(op[0]).ref)
43
44  when "ETS_CALL_NAME_SHORT_PREF_V4_V4_ID16"
45    handle_ets_call_name_short(op[1], op[2], as_id(op[0]), i.format.size)
46  when "ETS_CALL_NAME_PREF_V4_V4_V4_V4_ID16"
47    handle_ets_call_name_long(op[1], op[2], op[3], op[4], as_id(op[0]), i.format.size)
48  when "ETS_CALL_NAME_RANGE_PREF_V8_ID16"
49    handle_ets_call_name_range(op[1], as_id(op[0]), i.format.size)
50