aboutsummaryrefslogtreecommitdiffstats
path: root/vm_insnhelper.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-01-30 03:21:52 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-01-30 03:21:52 +0000
commitd4d671f2b08bcae5d96b9e08cc43355084e88cd6 (patch)
tree7683c03e84a61f06f9fd07278a22adace5309c89 /vm_insnhelper.h
parent68e2a2e5cea3204f935988a8b3b49d54e8dc43be (diff)
downloadruby-d4d671f2b08bcae5d96b9e08cc43355084e88cd6.tar.gz
bare_instructions.rb: sp_inc is signed
* tool/ruby_vm/models/bare_instructions.rb (predefine_attributes): `sp_inc` attribute which may return negative values must be signed `rb_snum_t`, to be signed-expanded at type promotion. * vm_insnhelper.h (ADJ_SP): removed the workaround for platforms where rb_num_t is wider than int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.h')
-rw-r--r--vm_insnhelper.h15
1 files changed, 0 insertions, 15 deletions
diff --git a/vm_insnhelper.h b/vm_insnhelper.h
index 01ea7a2a3e..1d54c0b9a1 100644
--- a/vm_insnhelper.h
+++ b/vm_insnhelper.h
@@ -101,22 +101,7 @@ enum vm_regan_acttype {
#define DEC_SP(x) (VM_REG_SP -= (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))
#define SET_SV(x) (*GET_SP() = (x))
/* set current stack value as x */
-#ifdef _MSC_VER
-/* Workaround needed for adding negative number to a pointer */
-#define ADJ_SP(x) do { \
- rb_snum_t adj = (x); \
- if (adj >= 0) { \
- INC_SP(adj); \
- } \
- else { \
- SIGNED_VALUE dec = -1; \
- dec *= adj; \
- DEC_SP(dec); \
- } \
-} while (0)
-#else
#define ADJ_SP(x) INC_SP(x)
-#endif
/* instruction sequence C struct */
#define GET_ISEQ() (GET_CFP()->iseq)