Seba Gamboa
e871b77f41
Increasing docs coverage
2015-10-20 12:16:46 -03:00
cremno
2ee84eb3df
remove unnecessary including of <ctype.h>
...
Not needed anymore since 85075bef75
2015-05-28 10:44:20 +02:00
Hiroshi Mimaki
ed15477c74
Pacify MSVC warnings for numeric.c, proc.c, and symbol.c
2014-10-02 13:37:49 +09:00
Yukihiro "Matz" Matsumoto
b72e94fa6b
mrbconf.h option MRB_USE_ETEXT_EDATA to reduce memory.
...
on platforms with _etext and _edata, mruby can distinguish string literals so that it avoids memory allocation to copy them.
for example, on my Linux box (x86 32bit), memory consumed by mrbtest decreased from 8,168,203 to 8,078,848 (reduced 88KB).
2014-09-30 23:48:57 +09:00
Yukihiro "Matz" Matsumoto
bbf24b8463
mrb_sym2name_len() should initialize lenp even when proper symbol does not exist
2014-09-30 22:46:19 +09:00
Yukihiro "Matz" Matsumoto
7a7dcd12e5
remove unnecessary trailing comma to remove pre C99 declaration error with -Wdeclaration-after-statement
2014-09-30 22:40:55 +09:00
Yukihiro "Matz" Matsumoto
4a55b42984
O(1) mrb_sym2name_len(); close #2591
...
instead of adding sym->name hash table, linear symbol table is added, and reduced name->sym hash table size.
2014-09-30 20:15:27 +09:00
Yukihiro "Matz" Matsumoto
6057b2e378
change mrb_sym type from uint16_t to uint32_t
2014-09-15 01:48:08 +09:00
Yukihiro "Matz" Matsumoto
9b4ec380d2
use uint16_t instead of short; ref #2568
2014-09-05 00:47:22 +09:00
cremno
c219c2a15e
use RITE_LV_NULL_MARK for better readability
...
The comment didn't say why the length is reserved.
Using RITE_LV_NULL_MARK makes things a bit clearer.
2014-08-29 15:53:52 +02:00
cremno
0e28f4b973
add sym_validate_len() to validate symbol length
...
This also fixes an off-by-one in mrb_check_intern().
2014-08-29 15:53:51 +02:00
cremno
89b27648dd
add symbol table overflow check
...
Since raising an error might intern a few new strings, some symbols need
to be reserved. 8 should be sufficient.
If the real limit has been reached, mrb_bug() is called.
2014-08-27 12:51:10 +02:00
Yukihiro "Matz" Matsumoto
206f89e209
add MRB_API modifiers to mruby API functions
2014-08-04 00:47:08 +09:00
Jun Hiroe
18d8f9d124
Refactor sym_equal() in symbol.c
2014-07-27 15:56:21 +09:00
Yukihiro "Matz" Matsumoto
c4268f67d0
UINT16_MAX as symbol length is reserved; ref #2294
2014-05-19 18:43:32 +09:00
kyab
1405f3a514
Fix MSVC warning for symbol.c
2014-04-29 13:00:11 +09:00
Yukihiro "Matz" Matsumoto
48f36d3f0e
better integer size assertion suggested by usak
2014-04-25 04:33:08 +09:00
Yukihiro "Matz" Matsumoto
320f0711f0
remove -Wsign-compare warnings
2014-04-25 02:33:33 +09:00
Yukihiro "Matz" Matsumoto
5138f62d6b
resolve conflict
2014-04-15 10:55:46 +09:00
Yukihiro "Matz" Matsumoto
10db9e62b6
fixed wrong use of pointer reference found by @tsahara; ref #2059
2014-04-14 16:48:23 +09:00
cremno
649081661a
reduce RSTRING_PTR usage
2014-04-14 00:58:34 +02:00
Yukihiro "Matz" Matsumoto
18ee842bea
replace memcpy() with a magic number by two assignments as suggested by @cremno; close #2048
2014-04-12 14:28:43 +09:00
ksss
8d15ef2e89
Use bool macro KHASH_DEFINE and KHASH_DECLARE
2014-04-02 13:38:43 +00:00
Yukihiro "Matz" Matsumoto
180b3d5678
change mrb_int to size_t that would take strlen()
2014-03-19 00:17:03 +09:00
Yukihiro "Matz" Matsumoto
c476c1b528
symbol length type to be mrb_int
2014-03-15 15:43:40 +09:00
ksss
58a5e832d9
fix sym_intern argument type
2014-03-11 09:12:56 +09:00
Yukihiro "Matz" Matsumoto
86a48b7c48
Merge pull request #1840 from ksss/bit-field
...
set bit field for mrb_bool
2014-03-10 22:24:36 +09:00
ksss
a53dd33eaa
set bool macro
2014-03-10 13:18:34 +00:00
ksss
49a048c544
set bit field for mrb_bool
2014-03-10 13:14:07 +00:00
ksss
4070b5987a
embed small string
...
use flags 4 for *this object is embed*
use flags 8~64 for *embed string length*
2014-03-06 13:12:08 +00:00
Yukihiro "Matz" Matsumoto
ebd976be84
initialize sname before interning
2014-02-25 10:43:16 +09:00
cremno
4507985c3e
use mrb_bool, FALSE and TRUE more
...
It doesn't matter to me if one is using FALSE/TRUE instead of 1/0
but I prefer a type (alias) which emphasizes boolean vars to int.
I changed 1/0 to FALSE/TRUE anyway.
2014-01-31 18:00:36 +01:00
cremno
aa655b9ee1
remove superfluous includes
...
- reduce compile time by a little bit (full-core: ~0.7s for me)
- thanks to 'include-what-you-use' for some help
- include Standard C header files before any other (coding style)
2014-01-07 17:56:30 +01:00
Yukihiro "Matz" Matsumoto
c6ceed22d9
rename mrb_intern_litral -> mrb_intern_static
2013-12-25 08:40:26 +09:00
Yukihiro "Matz" Matsumoto
bc7a6e88a1
zero copy C literal strings in symbol table
2013-12-24 08:27:42 +09:00
Yukihiro "Matz" Matsumoto
55ef024e83
Merge pull request #1615 from crimsonwoods/remove_strong_coupling_by_khash
...
Remove 'mrb_state' field from 'kh_xxx_t' structure.
2013-12-23 04:31:58 -08:00
crimsonwoods
370ad6fade
Remove 'mrb_state' field from 'kh_xxx_t' structure.
...
'kh_xxx_t' requires 'mrb_state' to allocate, free, and compute hash value.
But 'mrb_state' should not be held by 'kh_xxx_t' and 'mrb_state' should be
supplied from outside.
2013-12-23 00:33:07 -08:00
h2so5
a94be45546
change behavior of mrb_sym2str
2013-12-23 03:27:56 +09:00
Yukihiro "Matz" Matsumoto
9c6398a444
rename mrb_intern2() to mrb_intern(); huge API incompatibility; close #1513
2013-11-29 08:47:28 +09:00
Yukihiro "Matz" Matsumoto
6b015ec775
define Class#new in ruby to call #initialize
2013-08-13 16:55:06 +09:00
Jun Hiroe
8e42868600
Repalace int with mrb_bool because a return value is boolean.
2013-07-15 23:17:12 +09:00
Jun Hiroe
883c45b931
Replace mrb_intern() func with mrb_intern2() func or mrb_intern_cstr() func.
2013-07-12 01:00:50 +09:00
Daniel Bovensiepen
373122a299
Merge upstream
2013-06-15 03:53:50 +08:00
Daniel Bovensiepen
fd6e624ba7
Add ISO Number to Symbol
2013-06-17 04:50:54 +08:00
Yukihiro "Matz" Matsumoto
5c68195c88
mrb_str_new_static(): zero copy string creation
2013-04-28 02:47:22 +09:00
Yukihiro "Matz" Matsumoto
e63b086f1e
rename mrb_interned API functions
2013-04-26 10:57:08 +09:00
Yukihiro "Matz" Matsumoto
c99b72b20d
Merge branch 'suppress_intern' of https://github.com/crimsonwoods/mruby into crimsonwoods-suppress_intern
2013-04-26 09:18:39 +09:00
crimsonwoods
bd1b925931
modify the type of return value (mrb_bool => mrb_value).
2013-04-25 09:51:20 +09:00
Yukihiro "Matz" Matsumoto
30d580ecbc
rename every ARGS_XXX to MRB_ARGS_XXX; ref #1206
2013-04-25 09:47:36 +09:00
crimsonwoods
8682b06953
add new functions to check if symbols are interned without registration.
2013-04-25 09:27:00 +09:00