Skip to content

Commit c95ac32

Browse files
committed
Add inline(always) to some compat53 functions
1 parent 14169ea commit c95ac32

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

src/ffi/compat53.rs

+36-1
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ pub fn lua_upvalueindex(i: c_int) -> c_int {
228228
}
229229

230230
#[cfg(any(feature = "lua51", feature = "luajit"))]
231+
#[inline(always)]
231232
pub unsafe fn lua_absindex(L: *mut lua_State, mut idx: c_int) -> c_int {
232233
if idx < 0 && idx > lua::LUA_REGISTRYINDEX {
233234
idx += lua_gettop(L) + 1;
@@ -279,13 +280,15 @@ pub unsafe fn lua_rotate(L: *mut lua_State, mut idx: c_int, mut n: c_int) {
279280
}
280281

281282
#[cfg(any(feature = "lua51", feature = "luajit"))]
283+
#[inline(always)]
282284
pub unsafe fn lua_copy(L: *mut lua_State, fromidx: c_int, toidx: c_int) {
283285
let abs_to = lua_absindex(L, toidx);
284286
luaL_checkstack(L, 1, cstr!("not enough stack slots"));
285287
lua_pushvalue(L, fromidx);
286288
lua_replace(L, abs_to);
287289
}
288290

291+
#[inline(always)]
289292
pub unsafe fn lua_isinteger(L: *mut lua_State, idx: c_int) -> c_int {
290293
if lua_type(L, idx) == lua::LUA_TNUMBER {
291294
let n = lua_tonumber(L, idx);
@@ -298,6 +301,7 @@ pub unsafe fn lua_isinteger(L: *mut lua_State, idx: c_int) -> c_int {
298301
}
299302

300303
#[cfg(any(feature = "lua51", feature = "luajit"))]
304+
#[inline(always)]
301305
pub unsafe fn lua_tonumberx(L: *mut lua_State, i: c_int, isnum: *mut c_int) -> lua_Number {
302306
let n = lua_tonumber(L, i);
303307
if !isnum.is_null() {
@@ -312,6 +316,7 @@ pub unsafe fn lua_tonumberx(L: *mut lua_State, i: c_int, isnum: *mut c_int) -> l
312316

313317
// Implemented for Lua 5.2 as well
314318
// See https://github.com/keplerproject/lua-compat-5.3/issues/40
319+
#[inline(always)]
315320
pub unsafe fn lua_tointegerx(L: *mut lua_State, i: c_int, isnum: *mut c_int) -> lua_Integer {
316321
let mut ok = 0;
317322
let n = lua_tonumberx(L, i, &mut ok);
@@ -329,11 +334,13 @@ pub unsafe fn lua_tointegerx(L: *mut lua_State, i: c_int, isnum: *mut c_int) ->
329334
}
330335

331336
#[cfg(any(feature = "lua51", feature = "luajit"))]
337+
#[inline(always)]
332338
pub unsafe fn lua_rawlen(L: *mut lua_State, idx: c_int) -> usize {
333339
lua_objlen(L, idx)
334340
}
335341

336342
#[cfg(any(feature = "lua51", feature = "luajit"))]
343+
#[inline(always)]
337344
pub unsafe fn lua_compare(L: *mut lua_State, mut idx1: c_int, mut idx2: c_int, op: c_int) -> c_int {
338345
match op {
339346
lua::LUA_OPEQ => lua_equal(L, idx1, idx2),
@@ -354,6 +361,7 @@ pub unsafe fn lua_compare(L: *mut lua_State, mut idx1: c_int, mut idx2: c_int, o
354361
}
355362

356363
#[cfg(any(feature = "lua51", feature = "luajit"))]
364+
#[inline(always)]
357365
pub unsafe fn lua_pushlstring(L: *mut lua_State, s: *const c_char, l: usize) -> *const c_char {
358366
if l == 0 {
359367
lua_pushlstring_old(L, cstr!(""), 0);
@@ -364,6 +372,7 @@ pub unsafe fn lua_pushlstring(L: *mut lua_State, s: *const c_char, l: usize) ->
364372
}
365373

366374
#[cfg(feature = "lua52")]
375+
#[inline(always)]
367376
pub unsafe fn lua_pushlstring(L: *mut lua_State, s: *const c_char, l: usize) -> *const c_char {
368377
if l == 0 {
369378
lua_pushlstring_old(L, cstr!(""), 0)
@@ -373,27 +382,32 @@ pub unsafe fn lua_pushlstring(L: *mut lua_State, s: *const c_char, l: usize) ->
373382
}
374383

375384
#[cfg(any(feature = "lua51", feature = "luajit"))]
385+
#[inline(always)]
376386
pub unsafe fn lua_pushstring(L: *mut lua_State, s: *const c_char) -> *const c_char {
377387
lua_pushstring_old(L, s);
378388
lua_tostring(L, -1)
379389
}
380390

381391
#[cfg(feature = "lua52")]
392+
#[inline(always)]
382393
pub unsafe fn lua_getglobal(L: *mut lua_State, var: *const c_char) -> c_int {
383394
lua_getglobal_old(L, var);
384395
lua_type(L, -1)
385396
}
386397

398+
#[inline(always)]
387399
pub unsafe fn lua_gettable(L: *mut lua_State, idx: c_int) -> c_int {
388400
lua_gettable_old(L, idx);
389401
lua_type(L, -1)
390402
}
391403

404+
#[inline(always)]
392405
pub unsafe fn lua_getfield(L: *mut lua_State, idx: c_int, k: *const c_char) -> c_int {
393406
lua_getfield_old(L, idx, k);
394407
lua_type(L, -1)
395408
}
396409

410+
#[inline(always)]
397411
pub unsafe fn lua_geti(L: *mut lua_State, mut idx: c_int, n: lua_Integer) -> c_int {
398412
idx = lua_absindex(L, idx);
399413
lua_pushinteger(L, n);
@@ -402,18 +416,21 @@ pub unsafe fn lua_geti(L: *mut lua_State, mut idx: c_int, n: lua_Integer) -> c_i
402416
}
403417

404418
// A new version which returns c_int
419+
#[inline(always)]
405420
pub unsafe fn lua_rawget(L: *mut lua_State, idx: c_int) -> c_int {
406421
lua_rawget_old(L, idx);
407422
lua_type(L, -1)
408423
}
409424

410425
// A new version which returns c_int
426+
#[inline(always)]
411427
pub unsafe fn lua_rawgeti(L: *mut lua_State, idx: c_int, n: lua_Integer) -> c_int {
412428
lua_rawgeti_old(L, idx, n);
413429
lua_type(L, -1)
414430
}
415431

416432
#[cfg(any(feature = "lua51", feature = "luajit"))]
433+
#[inline(always)]
417434
pub unsafe fn lua_rawgetp(L: *mut lua_State, idx: c_int, p: *const c_void) -> c_int {
418435
let abs_i = lua_absindex(L, idx);
419436
lua_pushlightuserdata(L, p as *mut c_void);
@@ -422,23 +439,27 @@ pub unsafe fn lua_rawgetp(L: *mut lua_State, idx: c_int, p: *const c_void) -> c_
422439
}
423440

424441
#[cfg(feature = "lua52")]
442+
#[inline(always)]
425443
pub unsafe fn lua_rawgetp(L: *mut lua_State, idx: c_int, p: *const c_void) -> c_int {
426444
lua_rawgetp_old(L, idx, p);
427445
lua_type(L, -1)
428446
}
429447

430448
#[cfg(any(feature = "lua51", feature = "luajit"))]
449+
#[inline(always)]
431450
pub unsafe fn lua_getuservalue(L: *mut lua_State, idx: c_int) -> c_int {
432451
lua_getfenv(L, idx);
433452
lua_type(L, -1)
434453
}
435454

436455
#[cfg(feature = "lua52")]
456+
#[inline(always)]
437457
pub unsafe fn lua_getuservalue(L: *mut lua_State, idx: c_int) -> c_int {
438458
lua_getuservalue_old(L, idx);
439459
lua_type(L, -1)
440460
}
441461

462+
#[inline(always)]
442463
pub unsafe fn lua_seti(L: *mut lua_State, mut idx: c_int, n: lua_Integer) {
443464
luaL_checkstack(L, 1, cstr!("not enough stack slots available"));
444465
idx = lua_absindex(L, idx);
@@ -448,6 +469,7 @@ pub unsafe fn lua_seti(L: *mut lua_State, mut idx: c_int, n: lua_Integer) {
448469
}
449470

450471
#[cfg(any(feature = "lua51", feature = "luajit"))]
472+
#[inline(always)]
451473
pub unsafe fn lua_rawsetp(L: *mut lua_State, idx: c_int, p: *const c_void) {
452474
let abs_i = lua_absindex(L, idx);
453475
luaL_checkstack(L, 1, cstr!("not enough stack slots"));
@@ -457,11 +479,13 @@ pub unsafe fn lua_rawsetp(L: *mut lua_State, idx: c_int, p: *const c_void) {
457479
}
458480

459481
#[cfg(any(feature = "lua51", feature = "luajit"))]
482+
#[inline(always)]
460483
pub unsafe fn lua_setuservalue(L: *mut lua_State, idx: c_int) {
461484
luaL_checktype(L, -1, lua::LUA_TTABLE);
462485
lua_setfenv(L, idx);
463486
}
464487

488+
#[inline(always)]
465489
pub unsafe fn lua_dump(
466490
L: *mut lua_State,
467491
writer: lua_Writer,
@@ -472,11 +496,13 @@ pub unsafe fn lua_dump(
472496
}
473497

474498
#[cfg(any(feature = "lua51", feature = "luajit"))]
499+
#[inline(always)]
475500
pub unsafe fn lua_resume(L: *mut lua_State, _from: *mut lua_State, narg: c_int) -> c_int {
476501
lua_resume_old(L, narg)
477502
}
478503

479504
#[cfg(any(feature = "lua51", feature = "luajit"))]
505+
#[inline(always)]
480506
pub unsafe fn lua_len(L: *mut lua_State, idx: c_int) {
481507
match lua_type(L, idx) {
482508
lua::LUA_TSTRING => {
@@ -498,6 +524,7 @@ pub unsafe fn lua_len(L: *mut lua_State, idx: c_int) {
498524
}
499525
}
500526

527+
#[inline(always)]
501528
pub unsafe fn lua_stringtonumber(L: *mut lua_State, s: *const c_char) -> usize {
502529
use std::str::FromStr;
503530

@@ -575,6 +602,7 @@ pub unsafe fn lua_pushglobaltable(L: *mut lua_State) {
575602
//
576603

577604
#[cfg(any(feature = "lua51", feature = "luajit"))]
605+
#[inline(always)]
578606
pub unsafe fn luaL_checkstack(L: *mut lua_State, sz: c_int, msg: *const c_char) {
579607
if lua_checkstack(L, sz + lua::LUA_MINSTACK) == 0 {
580608
if !msg.is_null() {
@@ -590,6 +618,7 @@ pub unsafe fn luaL_checkversion(_L: *mut lua_State) {
590618
// Void
591619
}
592620

621+
#[inline(always)]
593622
pub unsafe fn luaL_getmetafield(L: *mut lua_State, obj: c_int, e: *const c_char) -> c_int {
594623
if luaL_getmetafield_old(L, obj, e) != 0 {
595624
lua_type(L, -1)
@@ -598,6 +627,7 @@ pub unsafe fn luaL_getmetafield(L: *mut lua_State, obj: c_int, e: *const c_char)
598627
}
599628
}
600629

630+
#[inline(always)]
601631
pub unsafe fn luaL_newmetatable(L: *mut lua_State, tname: *const c_char) -> c_int {
602632
if luaL_newmetatable_old(L, tname) != 0 {
603633
lua_pushstring(L, tname);
@@ -609,6 +639,7 @@ pub unsafe fn luaL_newmetatable(L: *mut lua_State, tname: *const c_char) -> c_in
609639
}
610640

611641
#[cfg(any(feature = "lua51", feature = "luajit"))]
642+
#[inline(always)]
612643
pub unsafe fn luaL_loadbufferx(
613644
L: *mut lua_State,
614645
buff: *const c_char,
@@ -628,6 +659,7 @@ pub unsafe fn luaL_loadbufferx(
628659
}
629660

630661
#[cfg(any(feature = "lua51", feature = "luajit"))]
662+
#[inline(always)]
631663
pub unsafe fn luaL_len(L: *mut lua_State, idx: c_int) -> lua_Integer {
632664
let mut isnum = 0;
633665
luaL_checkstack(L, 1, cstr!("not enough stack slots"));
@@ -668,7 +700,7 @@ pub unsafe fn luaL_traceback(
668700
level = numlevels - COMPAT53_LEVELS2; // and skip to last ones
669701
} else {
670702
lua_getinfo(L1, cstr!("Slnt"), &mut ar);
671-
lua_pushfstring(L, cstr!("\n\t%s:"), cstr!("ok") /*ar.short_src*/);
703+
lua_pushfstring(L, cstr!("\n\t%s:"), ar.short_src.as_ptr());
672704
if ar.currentline > 0 {
673705
lua_pushfstring(L, cstr!("%d:"), ar.currentline);
674706
}
@@ -717,13 +749,15 @@ pub unsafe fn luaL_tolstring(L: *mut lua_State, idx: c_int, len: *mut usize) ->
717749
}
718750

719751
#[cfg(any(feature = "lua51", feature = "luajit"))]
752+
#[inline(always)]
720753
pub unsafe fn luaL_setmetatable(L: *mut lua_State, tname: *const c_char) {
721754
luaL_checkstack(L, 1, cstr!("not enough stack slots"));
722755
luaL_getmetatable(L, tname);
723756
lua_setmetatable(L, -2);
724757
}
725758

726759
#[cfg(any(feature = "lua51", feature = "luajit"))]
760+
#[inline(always)]
727761
pub unsafe fn luaL_testudata(L: *mut lua_State, i: c_int, tname: *const c_char) -> *mut c_void {
728762
let mut p = lua_touserdata(L, i);
729763
luaL_checkstack(L, 2, cstr!("not enough stack slots"));
@@ -741,6 +775,7 @@ pub unsafe fn luaL_testudata(L: *mut lua_State, i: c_int, tname: *const c_char)
741775
}
742776

743777
#[cfg(any(feature = "lua51", feature = "luajit"))]
778+
#[inline(always)]
744779
pub unsafe fn luaL_setfuncs(L: *mut lua_State, mut l: *const luaL_Reg, nup: c_int) {
745780
luaL_checkstack(L, nup + 1, cstr!("too many upvalues"));
746781
while !(*l).name.is_null() {

src/ffi/lua.rs

+1
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,7 @@ pub unsafe fn lua_yield(L: *mut lua_State, n: c_int) -> c_int {
531531
feature = "lua51",
532532
feature = "luajit"
533533
))]
534+
#[inline(always)]
534535
pub unsafe fn lua_resume(
535536
L: *mut lua_State,
536537
from: *mut lua_State,

0 commit comments

Comments
 (0)