nobu
1dd06612a5
marshal.c: no duplicated encoding
...
* marshal.c (w_object): do not dump encoding which is dumped with
marshal_dump data. [ruby-core:54334] [Bug #8276 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-19 04:03:29 +00:00
ngoto
82b8467e23
* marshal.c (marshal_dump, marshal_load): workaround for segv on
...
Intel Solaris compiled with Oracle SolarisStudio 12.3.
Partly revert r38174. [ruby-core:52042] [Bug #7805 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-21 13:50:20 +00:00
nobu
b3265c0ed6
marshal.c: check for prepended
...
* marshal.c (w_extended): check for prepended object.
[ruby-core:53206] [Bug #8043 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-09 02:58:45 +00:00
nobu
0316cf2e52
marshal.c: prepended objects
...
* marshal.c (r_object0): load prepended objects. treat the class of
extended object in the included modules as prepended singleton
class. [ruby-core:53202] [Bug #8041 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-08 15:26:08 +00:00
charliesome
ba5ff937c3
* marshal.c: add security considerations to marshal overview, refer to
...
overview from Marshal.load documentation [#7759 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-01 15:46:10 +00:00
nobu
3fe939564f
marshal.c: prohibit_ivar
...
* marshal.c (r_object0): prohibit setting instance variables of
exising class/module.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-01 07:35:37 +00:00
charliesome
f8823475d9
marshal.c: warn against using Marshal.load on untrusted data
...
* marshal.c (marshal_load): Add documentation warning against using
Marshal.load on untrusted data [Bug #7759 ] [ruby-core:51765]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-31 12:55:37 +00:00
nobu
3d0786a3a8
marshal.c: marshal_dump instance varialbes
...
* marshal.c (w_object): dump instance varialbes of the result of
marshal_dump not the original object. [ruby-core:51163] [Bug #7627 ]
* complex.c (nucomp_marshal_dump): need to copy instance variables.
* rational.c (nurat_marshal_dump): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-26 13:39:15 +00:00
nobu
433999fd5c
marshal.c: get back to the old behavior
...
* marshal.c (w_object, r_object0): separate respond_to checks and
calling, and get back to the old behavior for 2.0. [Bug #7564 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-20 14:55:42 +00:00
nobu
0fe46ceae3
marshal.c: rb_check_funcall_with_hook
...
* vm_eval.c (rb_check_funcall_with_hook): rb_check_funcall with hook
which is called before calling method_missing or target method.
* marshal.c (w_object, r_object0): use rb_check_funcall_with_hook
instead of respond_to? and call.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-23 06:05:50 +00:00
nobu
3193599d85
marshal.c: use RB_TYPE_P
...
* marshal.c (r_entry0): use RB_TYPE_P.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-23 05:43:04 +00:00
ngoto
e90ccd3beb
* marshal.c (marshal_dump, marshal_load): fix SEGV during make rdoc
...
and test failure in TestMarshal#test_gc and test_context_switch
on SPARC Solaris 10 compiled with Oracle Solaris Studio 12.3.
[Bug #7591 ] [ruby-dev:46772]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-19 14:47:26 +00:00
shugo
0ac361f540
* marshal.c (r_entry0): don't taint classes and modules because
...
Marshal.load just return the dumped classes and modules.
[Bug #7325 ] [ruby-core:49198]
* test/ruby/test_marshal.rb: related test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 05:12:55 +00:00
nobu
cfa4a59da8
marshal.c: PRIsVALUE
...
* marshal.c (path2class, path2module): use PRIsVALUE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-04 07:23:34 +00:00
nobu
dd2eb69457
marshal.c: rb_check_funcall
...
* marshal.c (w_object, marshal_dump, marshal_load): use
rb_check_funcall if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-04 07:23:25 +00:00
nobu
2974b00f17
marshal.c: GC guard
...
* marshal.c (w_object, marshal_dump, r_object0, marshal_load): use
RB_GC_GUARD() (directly or indirectly) instead of volatile.
* variable.c (rb_path_to_class): prevent the arguemnt from GC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-04 07:23:20 +00:00
nobu
4f0c9b2bc6
marshal.c: private methods
...
* marshal.c (w_object, r_object0): call private marshal methods.
[Feature #6539 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 10:01:40 +00:00
glass
132eb25a79
* marshal.c: add marshal readahead. marshalized Array, Hash and Struct
...
have size at least number of its elements, marshal readahead will
read the certain readable length and buffer when it needs more bytes.
marshal readahead prevents many calls to IO#getbyte and IO#read,
then it enables performace improvement.
[ruby-dev:45637] [Feature #6440 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 15:17:15 +00:00
nagachika
f45f668fa1
* marshal.c (w_object): add flonum to arg->data to keep reference index
...
consistency. [ruby-core:49323] [Bug #7348 ]
* test/ruby/test_marshal.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 15:55:59 +00:00
nari
c3a46d6aca
* include/ruby/ruby.h: add C APIs.
...
VALUE rb_newobj_of(VALUE klass, VALUE flags)
#define NEWOBJ_OF(obj,type,klass,flags)
These allow to change a allocation strategy depending on klass
or flags.
* gc.c: ditto
* array.c: use new C API.
* bignum.c: ditto
* class.c: ditto
* complex.c: ditto
* ext/socket/ancdata.c: ditto
* ext/socket/option.c: ditto
* hash.c: ditto
* io.c: ditto
* marshal.c: ditto
* numeric.c: ditto
* object.c: ditto
* random.c: ditto
* range.c: ditto
* rational.c: ditto
* re.c: ditto
* string.c: ditto
* struct.c: ditto
[Feature #7177 ][Feature #7047 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-20 06:57:51 +00:00
ko1
b3b5e626ad
* include/ruby/ruby.h: introduce flonum technique for
...
64bit CPU environment (sizeof(double) == sizeof(VALUE)).
flonum technique enables to avoid double object creation
if the double value d is in range about between
1.72723e-77 < |d| <= 1.15792e+77 or 0.0.
flonum Float value is immediate and their lowest two bits
are b10.
If flonum is activated, then USE_FLONUM macro is 1.
I'll write detailed in this technique on
https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/Flonum_tech
* benchmark/bmx_temp.rb: add an benchmark for simple
Float calculation.
* gc.c (id2ref, rb_obj_id): add flonum Float support.
* include/ruby/intern.h: move decl of rb_float_new(double)
to include/ruby/ruby.h.
* insns.def, vm.c, vm_insnhelper.c: add flonum optimization
and simplify source code.
* vm_insnhelper.h (FLONUM_2_P): added.
* marshal.c: support flonum output.
* numeric.c (rb_float_new_in_heap): added.
* parse.y: support flonum.
* random.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 07:22:40 +00:00
nobu
407e32746e
marshal.c: io_needed
...
* marshal.c (io_needed): extract from marshal_dump and marshal_load.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-22 05:22:46 +00:00
nobu
81a0c608eb
compatible loader
...
* marshal.c (r_object0): also load TYPE_USRMARSHAL, TYPE_DATA using
compatible loader.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-04 02:40:30 +00:00
nobu
436d819bf2
adjust indent
...
* marshal.c (r_object0): adjust indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-03 21:13:36 +00:00
nobu
f392a8aa9b
remove old warning
...
* marshal.c (r_object0): remove old warning for _alloc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-03 21:12:46 +00:00
tadf
eb6579e647
* marshal.c: experimental test aborted.
...
* complex.c: ditto.
* rational.c: ditto.
* include/ruby/intern.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-03 19:26:58 +00:00
tadf
f5b06413ca
* marshal.c: calls directly rb_{Complex,Rational}_marshal_load().
...
But now disabled. [experimental]
* complex.c: followed the above.
* rational.c: ditto.
* include/rub/intern.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-03 12:21:18 +00:00
nobu
694035eb35
use rb_marshal_{dump,load}
...
* marshal.c: revert r35879 "now marshal_{load|dump} are external."
* complex.c (nucomp_marshal__{dump,load}): should use rb_marshal_{dump,load}.
* rational.c (nurat_marshal__{dump,load}): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-03 07:34:03 +00:00
tadf
d9dd6f5d35
now marshal_{load|dump} are external.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-03 05:15:56 +00:00
nobu
b0dd250dc9
use RB_TYPE_P() instead of comparison of TYPE()
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-23 07:13:21 +00:00
nobu
57fb219905
* reduce UNREACHABLE.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-15 00:06:13 +00:00
drbrain
da39d32f60
* encoding.c (rb_enc_codepoint_len): Use UNREACHABLE to avoid "control
...
reaches end of non-void function" warnings. [ruby-trunk - Bug #6066 ]
* re.c (name_to_backref_number): ditto.
* object.c (rb_Float): ditto.
* io.c (io_readpartial): ditto.
* io.c (io_read_nonblock): ditto.
* pack.c (rb_uv_to_utf8): ditto.
* proc.c (rb_method_entry_arity): ditto.
* vm_method.c (rb_f_notimplement): ditto.
* struct.c (rb_struct_aset_id): ditto.
* class.c (rb_scan_args): ditto.
* process.c (rlimit_resource_type): ditto.
* process.c (rlimit_resource_value): ditto.
* process.c (p_uid_switch): ditto.
* process.c (p_gid_switch): ditto.
* ext/digest/digest.c (rb_digest_instance_update): ditto.
* ext/digest/digest.c (rb_digest_instance_finish): ditto.
* ext/digest/digest.c (rb_digest_instance_reset): ditto.
* ext/digest/digest.c (rb_digest_instance_block_length): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): ditto.
* ext/dl/handle.c (rb_dlhandle_close): ditto.
* ext/tk/tcltklib.c (pending_exception_check0): ditto.
* ext/tk/tcltklib.c (pending_exception_check1): ditto.
* ext/tk/tcltklib.c (ip_cancel_eval_core): ditto.
* ext/tk/tcltklib.c (lib_get_reltype_name): ditto.
* ext/tk/tcltklib.c (create_dummy_encoding_for_tk_core): ditto.
* ext/tk/tkutil/tkutil.c (tk_hash_kv): ditto.
* ext/openssl/ossl_ssl.c (ossl_ssl_session_reused): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_dsa_verify_asn1): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_at_infinit): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_on_curve): ditto.
* ext/fiddle/conversions.c (generic_to_value): ditto.
* ext/socket/raddrinfo.c (rsock_io_socket_addrinfo): ditto.
* ext/socket/socket.c (sock_s_getnameinfo): ditto.
* ext/ripper/eventids2.c (ripper_token2eventid): ditto.
* cont.c (return_fiber): ditto.
* dmydln.c (dln_load): ditto.
* vm_insnhelper.c (vm_search_normal_superclass): ditto.
* bignum.c (big_fdiv): ditto.
* marshal.c (r_symlink): ditto.
* marshal.c (r_symbol): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-13 23:45:37 +00:00
nobu
4b3a1f77e1
* hash.c, marshal.c, object.c, variable.c: fix callback argument types
...
of iterators.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-30 22:40:54 +00:00
nobu
1521f9331e
* marshal.c (r_symreal): default to ASCII-8BIT for non-ascii symbols,
...
otherwise it should be converted to US-ASCII in rb_intern_str() if
possible. [ruby-core:43762][Bug #6209 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-28 06:06:20 +00:00
nobu
113c6d58e7
* marshal.c (r_symreal): no longer need volatile modifier, as using
...
rb_intern_str() not rb_intern().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-28 06:05:20 +00:00
nobu
8e6e8e6288
* use RB_TYPE_P which is optimized for constant types, instead of
...
comparison with TYPE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-29 11:07:45 +00:00
drbrain
cb0f9d5faf
* marshal.c (w_object): Fix exception message when _dump_data is not
...
defined on a T_DATA object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-05 22:14:05 +00:00
akr
e7996eb3cc
* internal.h: declare internal functions here.
...
* node.h: declare NODE dependent internal functions here.
* iseq.h: declare rb_iseq_t dependent internal functions here.
* vm_core.h: declare rb_thread_t dependent internal functions here.
* bignum.c, class.c, compile.c, complex.c, cont.c, dir.c, encoding.c,
enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c, io.c,
iseq.c, load.c, marshal.c, math.c, numeric.c, object.c, parse.y,
proc.c, process.c, range.c, rational.c, re.c, ruby.c, string.c,
thread.c, time.c, transcode.c, variable.c, vm.c,
tool/compile_prelude.rb: don't declare internal functions declared
in above headers. include above headers if required.
Note that rb_thread_mark() was declared as
void rb_thread_mark(rb_thread_t *th) in cont.c but defined as
void rb_thread_mark(void *ptr) in vm.c. Now it is declared as
the later in internal.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-17 22:43:38 +00:00
nobu
52f5f410e4
* internal.h: add for internal use only.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-18 13:41:54 +00:00
matz
1df42597d1
cancel subversion backfire. sorry
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-07 08:44:45 +00:00
matz
eb807d42ec
* gc.c (rb_gc_set_params): allow GC parameter configuration by
...
environment variables. based on a patch from funny-falcon at
https://gist.github.com/856296 , but honors safe level.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-07 08:39:39 +00:00
naruse
18f4f08885
* class.c: fix camelCase to snake_case in documentation code examples.
...
patched by Andrew Grimm. fixes Bug #4469
* marshal.c: ditto.
* proc.c: ditto.
* sample/biorhythm.rb: ditto.
* vm_eval.c: ditto.
* vm_method.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-05 20:25:08 +00:00
naruse
01e84b104c
Fix typo of rdoc. [ruby-core:35016]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-15 07:24:49 +00:00
akr
9035b0e759
* marshal.c: parenthesize macro arguments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-19 10:15:57 +00:00
nobu
cea3919ae6
* configure.in (RUBY_CHECK_PRINTF_PREFIX): check for printf format
...
specifier if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 15:03:51 +00:00
nobu
d410639a6d
* compile.c (iseq_build_body), error.c (set_syserr, get_syserr),
...
(syserr_initialize), gc.c (define_final, rb_gc_copy_finalizer),
(run_final), hash.c (rb_hash_aref, rb_hash_lookup2),
(rb_hash_fetch_m, rb_hash_clear, rb_hash_aset, eql_i),
iseq.c (iseq_load, iseq_data_to_ary), marshal.c (r_symlink),
thread.c (rb_thread_local_aref),
variable.c (generic_ivar_remove, ivar_get, rb_const_get_0),
(rb_cvar_get), vm.c (rb_vm_check_redefinition_opt_method),
vm_insnhelper.c (vm_get_ev_const), vm_method.c (remove_method),
ext/iconv/iconv.c (map_charset): use st_data_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 14:47:23 +00:00
nobu
359d537878
* marshal.c (w_float): should not append a dot if no fractal part
...
exists. [ruby-dev:41936]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-05 09:25:39 +00:00
nobu
25b9eb5e57
* include/ruby/ruby.h (rb_data_type_t): restructured. [ruby-dev:41862]
...
add parent member.
* error.c (rb_typeddata_inherited_p): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-18 07:31:54 +00:00
nobu
12b0ccc204
* marshal.c (w_object): suppress empty instance variable entry on
...
compatible dump objects.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-30 23:40:37 +00:00
nobu
fff5de3bd4
* marshal.c (w_object, r_bytes0, marshal_load): suppress warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-27 15:13:25 +00:00
nobu
23af1d2a4b
* marshal.c (struct dump_arg, struct load_arg): merge taint and
...
untrust flags into infection as bit flags.
* marshal.c (w_nbyte, clear_dump_arg): infect the buffer as soon
as appending, because it might have been finalized already at
exit. based on a patch by Tomoyuki Chikanaga
at [ruby-dev:41672]. [Bug #3463 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-23 20:44:44 +00:00
drbrain
dd8d4f0075
document marshal_dump and marshal_load
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-26 02:50:58 +00:00
nobu
e207a3912c
* marshal.c (w_float): use dtoa directly instead of stripping
...
needless trailing .0.
* numeric.c (flo_to_s): reverted. [ruby-dev:41341]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-21 03:26:00 +00:00
marcandre
7729de4d91
* array.c: Documentation: change => in call-seq to ->.
...
Harmonize "#=>" in examples. [ruby-core:30206]
* bignum.c: ditto
* class.c: ditto
* compar.c: ditto
* cont.c: ditto
* dir.c: ditto
* encoding.c: ditto
* enum.c: ditto
* enumerator.c: ditto
* error.c: ditto
* eval.c: ditto
* file.c: ditto
* gc.c: ditto
* io.c: ditto
* load.c: ditto
* marshal.c: ditto
* math.c: ditto
* numeric.c: ditto
* object.c: ditto
* pack.c: ditto
* proc.c: ditto
* process.c: ditto
* random.c: ditto
* range.c: ditto
* re.c: ditto
* ruby.c: ditto
* signal.c: ditto
* sprintf.c: ditto
* string.c: ditto
* struct.c: ditto
* thread.c: ditto
* time.c: ditto
* transcode.c: ditto
* variable.c: ditto
* vm_eval.c: ditto
* vm_method.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:07:33 +00:00
nobu
4eb19660e9
* marshal.c (w_float): strip ".0" from end for rubyspec.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 22:27:10 +00:00
nobu
cf32125cff
* marshal.c (w_float): use minimal representation.
...
* numeric.c (ruby_dbl2cstr): split from rb_float_new.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 04:30:07 +00:00
matz
6f828a2437
* marshal.c (r_object0): should prepare placeholder before
...
processing instance variables. [ruby-dev:40414]
* marshal.c (id2encidx): no longer need arg.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-24 14:16:59 +00:00
nobu
05270882ae
* marshal.c (r_object0): removed duplicated entry for regexp.
...
[ruby-dev:40416]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-14 03:54:47 +00:00
nobu
27e492bec7
* marshal.c (r_object0): register regexp object before encoding
...
name. [ruby-dev:40414]
* re.c (rb_reg_alloc, rb_reg_init_str): split from rb_reg_new_str.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-13 19:45:35 +00:00
matz
c1ad9a5fd1
* marshal.c (id2encidx): duplicated entry for encoding name.
...
[ruby-dev:40388]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-13 06:03:06 +00:00
nobu
87fb6fbcc9
* marshal.c (r_object0): replace non-1.8 escapes directly.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-11 05:43:19 +00:00
nobu
50bf2e550a
* marshal.c (r_object0): read sequentially since marshal source
...
may not be possible to rewind. [ruby-dev:40386]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-11 05:37:43 +00:00
nobu
902b109465
* marshal.c (w_symbol): dump no encoding for 7bit only coderange
...
symbol. [ruby-core:27375]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-08 04:12:29 +00:00
naruse
7ed0640ffb
Add Float::INFINITY and Float::NAN.
...
* numeric.c (Init_Numeric): Add Float::INFINITY and Float::NAN.
[ruby-dev:1657] [ruby-dev:4760] [ruby-list:7023] [ruby-list:46690]
[ruby-core:26632] [ruby-talk:41352] [ruby-talk:203333]
* include/ruby/defines.h (INFINITY): defined.
* include/ruby/defines.h (NAN): defined.
* include/ruby/util.h (ruby_div0): removed.
* numeric.c (fix_pow): use INFINITY and NAN instead of ruby_div0(1.0).
* marshal.c (r_object0): ditto.
* bignum.c (big_fdiv): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-29 07:05:39 +00:00
nobu
1d10aa8bfc
* marshal.c (w_object): reverted r26007. [ruby-dev:39845]
...
* test/test_delegate.rb (test_marshal): moved from test_marshal.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-07 05:11:10 +00:00
nobu
1cc1ea378a
* marshal.c (w_object): dump instance variables when using
...
marshal_dump. [ruby-core:24211]
* variable.c (rb_ivar_count): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-05 06:35:07 +00:00
wanabe
12b637a65d
* marshal.c (mark_dump_arg): mark str. see also [ruby-dev:39735]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-25 22:27:44 +00:00
nobu
75090a663b
* marshal.c (marshal_dump): use normal object as the buffer so
...
that no hidden object is exposed to ruby-level. [ruby-dev:39744]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-21 07:38:51 +00:00
nobu
914b36e3f9
* marshal.c (w_object, r_object0): use RHASH_IFNONE but not ifnone
...
directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-11 00:36:04 +00:00
naruse
88175d1779
Add rdoc about objects can't Marshal#dump. [ruby-core:23314]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-04 13:42:03 +00:00
akr
b9e0294eda
fix typos.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-03 17:46:28 +00:00
nobu
f25fd72a0a
* marshal.c (w_symbol, r_symreal): fixed the order of symbol and
...
its encoding modifier, in order to make the dump readable from
1.8. [ruby-dev:39515]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-20 08:57:33 +00:00
nobu
79a8955f8d
* marshal.c (id2encidx): register encoding name.
...
(r_object0): register object before encoding name.
[ruby-core:24882]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-17 13:11:05 +00:00
nobu
bd2a1db5af
* marshal.c (r_object0): suppressed a warning.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-12 02:28:48 +00:00
naruse
8ab0220352
* marshal.c (has_encoding): added for check the regexp
...
is dumped by 1.8 or 1.9.
* marshal.c (r_object0): use has_encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-11 18:49:41 +00:00
nobu
95b3da63f1
* marshal.c (marshal_dump, marshal_load): prevent from GC.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-10 15:14:40 +00:00
nobu
90ce6d2323
* marshal.c (mark_dump_arg, mark_load_arg): ignore already cleaned
...
data. [ruby-core:25969]
* marshal.c (clear_dump_arg, clear_load_arg): clear freed fields.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-07 07:42:30 +00:00
nobu
f6f89b880a
* marshal.c (struct {dump,load}_arg): manage with dfree, instead
...
of using local variable which may be moved by context switch.
[ruby-dev:39425]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-04 10:30:56 +00:00
nobu
1aa21e630f
* marshal.c (r_object0): entry regexp object before its encoding
...
name. [ruby-core:25625]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-18 14:51:18 +00:00
nobu
a8cf451714
* marshal.c (must_not_be_anonymous): fixed silly miss.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-09 22:02:31 +00:00
nobu
3ece383660
* marshal.c (class2path, w_unique, w_extended, w_class, w_uclass):
...
deal with non-ascii class path. [ruby-core:24790]
* marshal.c (r_unique, path2class, path2module, obj_alloc_by_path),
(r_object0): ditto.
* variable.c (rb_path_to_class): new encoding-aware function to
get a class from its name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-09 21:55:55 +00:00
nobu
ac2557e09f
* marshal.c (w_symbol r_symlink, r_symbol, r_object0): fix for
...
non-ascii symbols. loading such symbols can cause segfaults in
older versions. [ruby-core:24788]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-07 21:18:33 +00:00
nobu
e07cb859cc
* suppressed shorten-64-to-32 warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-18 08:05:32 +00:00
naruse
f03642038e
* marshal.c (r_object0): should return real object.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 16:26:08 +00:00
nobu
4fbc270cd5
* marshal.c (r_object0): should not shadow outer variable not to
...
return Qnil always.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 11:21:55 +00:00
naruse
ecb962058a
* marshal.c (r_object0): copy instance variables to new regexp.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 10:43:45 +00:00
naruse
143d1d840d
* marshal.c (r_object0): set encoding only if the encoding is not US-ASCII.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 05:51:17 +00:00
naruse
f69af8e877
Remove debug print.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-09 16:02:02 +00:00
naruse
e6989a7ec2
* marshal.c (r_object0): replace \u by u when the regexp is
...
made by Ruby 1.8. [ruby-dev:36750]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-09 14:47:22 +00:00
nobu
4bef732db1
* marshal.c (w_encoding): encodings need extra depth.
...
[ruby-core:24100]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 23:46:20 +00:00
nobu
d70719b061
* marshal.c (r_ivar): should not set internal encoding ivar as an
...
ordinary ivar. [ruby-dev:38596]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-13 00:58:30 +00:00
matz
7afe0c92ea
* marshal.c (w_encoding): more compact encoding information for
...
US-ASCII and UTF-8. [incompatible] [experimental]
* marshal.c (r_ivar): restore :E encoding information.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-27 16:31:51 +00:00
nobu
8e86bd59c0
* common.mk (bignum.o, numeric.o): depend on util.h.
...
* bignum.c, marshal.c: fixed types.
* numeric.c (infinite_value): use ruby_div0.
* include/ruby/util.h (ruby_div0): moved from marshal.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-26 04:58:15 +00:00
nobu
d1abc53721
* array.c, bignum.c, dln.c, error.c, gc.c, io.c, marshal.c,
...
numeric.c, pack.c, strftime.c, string.c, thread.c, transcode.c,
transcode_data.h, util.c, variable.c, vm_dump.c,
include/ruby/encoding.h, missing/crypt.c, missing/vsnprintf.c:
suppress VC type warnings. [ruby-core:22726]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-12 09:16:15 +00:00
nobu
080525aa68
* marshal.c (div0), numeric.c (infinite_value): new functions to
...
get rid of VC divion by 0 warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-12 09:09:15 +00:00
nobu
12d2c8ba41
stripped trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 14:23:33 +00:00
knu
df0f575e1d
Fix grammos regarding the verb "refer".
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-10 08:55:40 +00:00
nobu
1d54761948
* marshal.c (marshal_dump): fixed for check_dump_arg.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-01 10:11:51 +00:00
nobu
7558136984
* marshal.c (marshal_dump): initializes dump_arg before any funcall.
...
[ruby-dev:36648]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-01 09:57:38 +00:00
ko1
69029b90fe
* gc.c, include/ruby/ruby.h: rename rb_register_mark_object()
...
to rb_gc_register_mark_object().
* eval.c, vm.c: initialize vm->mark_object_ary at
Init_top_self().
* bignum.c, complex.c, encoding.c, ext/win32ole/win32ole.c,
io.c, load.c, marshal.c, rational.c, ruby.c, vm.c:
use rb_gc_register_mark_object() instead of
rb_global_variable() or rb_gc_register_address().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 14:59:14 +00:00