From 3208a5df2dfb429752a130a36274464e9924cf44 Mon Sep 17 00:00:00 2001 From: "S.H" Date: Sat, 5 Jun 2021 13:57:21 +0900 Subject: Improve perfomance for Integer#size method [Feature #17135] (#3476) * Improve perfomance for Integer#size method [Feature #17135] * re-run ci * Let MJIT frame skip work for Integer#size Co-authored-by: Takashi Kokubun --- numeric.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'numeric.rb') diff --git a/numeric.rb b/numeric.rb index be33c5b436..c892cbe6ef 100644 --- a/numeric.rb +++ b/numeric.rb @@ -167,6 +167,26 @@ class Integer return self end + # + # Document-method: Integer#size + # call-seq: + # int.size -> int + # + # Returns the number of bytes in the machine representation of +int+ + # (machine dependent). + # + # 1.size #=> 8 + # -1.size #=> 8 + # 2147483647.size #=> 8 + # (256**10 - 1).size #=> 10 + # (256**20 - 1).size #=> 20 + # (256**40 - 1).size #=> 40 + # + def size + Primitive.attr! 'inline' + Primitive.cexpr! 'rb_int_size(self)' + end + # call-seq: # int.to_i -> integer # -- cgit v1.2.1