Skip to content

Commit 3ab8ee4

Browse files
committed
one more fix for the jit
1 parent 9e05111 commit 3ab8ee4

1 file changed

Lines changed: 6 additions & 10 deletions

File tree

pixie/vm/custom_types.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,23 +55,19 @@ def set_field(self, name, val):
5555
return self
5656

5757
@jit.elidable_promote()
58-
def get_field_immutable(self, name):
59-
idx = self._custom_type.get_slot_idx(name)
60-
if idx == -1:
61-
runtime_error(u"Invalid field named " + rt.name(rt.str(name)) + u" on type " + rt.name(rt.str(self.type())))
62-
58+
def get_field_immutable(self, idx):
6359
return self._fields[idx]
6460

6561

6662
def get_field(self, name):
67-
if self._custom_type.is_mutable(name):
68-
idx = self._custom_type.get_slot_idx(name)
69-
if idx == -1:
70-
runtime_error(u"Invalid field named " + rt.name(rt.str(name)) + u" on type " + rt.name(rt.str(self.type())))
63+
idx = self._custom_type.get_slot_idx(name)
64+
if idx == -1:
65+
runtime_error(u"Invalid field named " + rt.name(rt.str(name)) + u" on type " + rt.name(rt.str(self.type())))
7166

67+
if self._custom_type.is_mutable(name):
7268
return self._fields[idx]
7369
else:
74-
return self.get_field_immutable(name)
70+
return self.get_field_immutable(idx)
7571

7672
def set_field_by_idx(self, idx, val):
7773
affirm(isinstance(idx, r_uint), u"idx must be a r_uint")

0 commit comments

Comments
 (0)