Skip to content

Commit 1882931

Browse files
committed
Optimize Table::metatable
1 parent c90cac5 commit 1882931

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

src/table.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -487,16 +487,12 @@ impl Table {
487487
/// [`getmetatable`]: https://www.lua.org/manual/5.4/manual.html#pdf-getmetatable
488488
pub fn metatable(&self) -> Option<Table> {
489489
let lua = self.0.lua.lock();
490-
let state = lua.state();
490+
let ref_thread = lua.ref_thread();
491491
unsafe {
492-
let _sg = StackGuard::new(state);
493-
assert_stack(state, 2);
494-
495-
lua.push_ref(&self.0);
496-
if ffi::lua_getmetatable(state, -1) == 0 {
492+
if ffi::lua_getmetatable(ref_thread, self.0.index) == 0 {
497493
None
498494
} else {
499-
Some(Table(lua.pop_ref()))
495+
Some(Table(lua.pop_ref_thread()))
500496
}
501497
}
502498
}

0 commit comments

Comments
 (0)