aboutsummaryrefslogtreecommitdiff
path: root/src/lj_obj.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_obj.h')
-rw-r--r--src/lj_obj.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lj_obj.h b/src/lj_obj.h
index d735b0e8..456aef0b 100644
--- a/src/lj_obj.h
+++ b/src/lj_obj.h
@@ -763,6 +763,17 @@ static LJ_AINLINE int32_t lj_num2bit(lua_Number n)
763#define lj_num2int(n) ((int32_t)(n)) 763#define lj_num2int(n) ((int32_t)(n))
764#endif 764#endif
765 765
766static LJ_AINLINE uint64_t lj_num2u64(lua_Number n)
767{
768#ifdef _MSC_VER
769 if (n >= 9223372036854775808.0) /* They think it's a feature. */
770 return (uint64_t)(int64_t)(n - 9223372036854775808.0) +
771 U64x(80000000,00000000);
772 else
773#endif
774 return (uint64_t)n;
775}
776
766/* -- Miscellaneous object handling --------------------------------------- */ 777/* -- Miscellaneous object handling --------------------------------------- */
767 778
768/* Names and maps for internal and external object tags. */ 779/* Names and maps for internal and external object tags. */