From ef26f277533b050eb4a69be7380935b6c1d231af Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Mon, 27 Apr 2020 07:13:36 +0200 Subject: [PATCH] builtin: replace `isnil` calls for perfomance --- vlib/builtin/builtin.v | 4 ++-- vlib/builtin/string.v | 2 +- vlib/builtin/utf8.v | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/vlib/builtin/builtin.v b/vlib/builtin/builtin.v index d88e7d0684..12e62f05f6 100644 --- a/vlib/builtin/builtin.v +++ b/vlib/builtin/builtin.v @@ -50,7 +50,7 @@ pub fn panic(s string) { } pub fn eprintln(s string) { - if isnil(s.str) { + if s.str == 0 { panic('eprintln(NIL)') } $if !windows { @@ -65,7 +65,7 @@ pub fn eprintln(s string) { } pub fn eprint(s string) { - if isnil(s.str) { + if s.str == 0 { panic('eprint(NIL)') } $if !windows { diff --git a/vlib/builtin/string.v b/vlib/builtin/string.v index bb76ed38a9..e00e7c150e 100644 --- a/vlib/builtin/string.v +++ b/vlib/builtin/string.v @@ -333,7 +333,7 @@ pub fn (s string) u64() u64 { // == fn (s string) eq(a string) bool { - if isnil(s.str) { + if s.str == 0 { // should never happen panic('string.eq(): nil string') } diff --git a/vlib/builtin/utf8.v b/vlib/builtin/utf8.v index 6b4e83b99c..9bb5dd7e39 100644 --- a/vlib/builtin/utf8.v +++ b/vlib/builtin/utf8.v @@ -116,7 +116,7 @@ pub fn (_str string) to_wide() &u16 { $if windows { num_chars := (C.MultiByteToWideChar(CP_UTF8, 0, _str.str, _str.len, 0, 0)) mut wstr := &u16(malloc((num_chars + 1) * 2)) // sizeof(wchar_t) - if !isnil(wstr) { + if wstr != 0 { C.MultiByteToWideChar(CP_UTF8, 0, _str.str, _str.len, wstr, num_chars) C.memset(&byte(wstr) + num_chars * 2, 0, 2) } @@ -139,7 +139,7 @@ pub fn string_from_wide2(_wstr &u16, len int) string { $if windows { num_chars := C.WideCharToMultiByte(CP_UTF8, 0, _wstr, len, 0, 0, 0, 0) mut str_to := malloc(num_chars + 1) - if !isnil(str_to) { + if str_to != 0 { C.WideCharToMultiByte(CP_UTF8, 0, _wstr, len, str_to, num_chars, 0, 0) C.memset(str_to + num_chars, 0, 1) }