@@ -728,7 +728,7 @@ trunc_f64_to_int(WASMModuleInstance *module, uint32 *frame_sp, float64 src_min,
728
728
addr = POP_I32(); \
729
729
\
730
730
if (opcode == WASM_OP_ATOMIC_RMW_I32_##OP_NAME##8_U) { \
731
- CHECK_BULK_MEMORY_OVERFLOW(addr + offset, 1, maddr); \
731
+ CHECK_MEMORY_OVERFLOW(1); \
732
732
CHECK_ATOMIC_MEMORY_ACCESS(); \
733
733
\
734
734
shared_memory_lock(memory); \
@@ -737,7 +737,7 @@ trunc_f64_to_int(WASMModuleInstance *module, uint32 *frame_sp, float64 src_min,
737
737
shared_memory_unlock(memory); \
738
738
} \
739
739
else if (opcode == WASM_OP_ATOMIC_RMW_I32_##OP_NAME##16_U) { \
740
- CHECK_BULK_MEMORY_OVERFLOW(addr + offset, 2, maddr); \
740
+ CHECK_MEMORY_OVERFLOW(2); \
741
741
CHECK_ATOMIC_MEMORY_ACCESS(); \
742
742
\
743
743
shared_memory_lock(memory); \
@@ -746,7 +746,7 @@ trunc_f64_to_int(WASMModuleInstance *module, uint32 *frame_sp, float64 src_min,
746
746
shared_memory_unlock(memory); \
747
747
} \
748
748
else { \
749
- CHECK_BULK_MEMORY_OVERFLOW(addr + offset, 4, maddr); \
749
+ CHECK_MEMORY_OVERFLOW(4); \
750
750
CHECK_ATOMIC_MEMORY_ACCESS(); \
751
751
\
752
752
shared_memory_lock(memory); \
@@ -768,7 +768,7 @@ trunc_f64_to_int(WASMModuleInstance *module, uint32 *frame_sp, float64 src_min,
768
768
addr = POP_I32(); \
769
769
\
770
770
if (opcode == WASM_OP_ATOMIC_RMW_I64_##OP_NAME##8_U) { \
771
- CHECK_BULK_MEMORY_OVERFLOW(addr + offset, 1, maddr); \
771
+ CHECK_MEMORY_OVERFLOW(1); \
772
772
CHECK_ATOMIC_MEMORY_ACCESS(); \
773
773
\
774
774
shared_memory_lock(memory); \
@@ -777,7 +777,7 @@ trunc_f64_to_int(WASMModuleInstance *module, uint32 *frame_sp, float64 src_min,
777
777
shared_memory_unlock(memory); \
778
778
} \
779
779
else if (opcode == WASM_OP_ATOMIC_RMW_I64_##OP_NAME##16_U) { \
780
- CHECK_BULK_MEMORY_OVERFLOW(addr + offset, 2, maddr); \
780
+ CHECK_MEMORY_OVERFLOW(2); \
781
781
CHECK_ATOMIC_MEMORY_ACCESS(); \
782
782
\
783
783
shared_memory_lock(memory); \
@@ -786,7 +786,7 @@ trunc_f64_to_int(WASMModuleInstance *module, uint32 *frame_sp, float64 src_min,
786
786
shared_memory_unlock(memory); \
787
787
} \
788
788
else if (opcode == WASM_OP_ATOMIC_RMW_I64_##OP_NAME##32_U) { \
789
- CHECK_BULK_MEMORY_OVERFLOW(addr + offset, 4, maddr); \
789
+ CHECK_MEMORY_OVERFLOW(4); \
790
790
CHECK_ATOMIC_MEMORY_ACCESS(); \
791
791
\
792
792
shared_memory_lock(memory); \
@@ -796,7 +796,7 @@ trunc_f64_to_int(WASMModuleInstance *module, uint32 *frame_sp, float64 src_min,
796
796
} \
797
797
else { \
798
798
uint64 op_result; \
799
- CHECK_BULK_MEMORY_OVERFLOW(addr + offset, 8, maddr); \
799
+ CHECK_MEMORY_OVERFLOW(8); \
800
800
CHECK_ATOMIC_MEMORY_ACCESS(); \
801
801
\
802
802
shared_memory_lock(memory); \
@@ -3864,7 +3864,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
3864
3864
3865
3865
notify_count = POP_I32 ();
3866
3866
addr = POP_I32 ();
3867
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 4 , maddr );
3867
+ CHECK_MEMORY_OVERFLOW ( 4 );
3868
3868
CHECK_ATOMIC_MEMORY_ACCESS ();
3869
3869
3870
3870
ret = wasm_runtime_atomic_notify (
@@ -3884,7 +3884,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
3884
3884
timeout = POP_I64 ();
3885
3885
expect = POP_I32 ();
3886
3886
addr = POP_I32 ();
3887
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 4 , maddr );
3887
+ CHECK_MEMORY_OVERFLOW ( 4 );
3888
3888
CHECK_ATOMIC_MEMORY_ACCESS ();
3889
3889
3890
3890
ret = wasm_runtime_atomic_wait (
@@ -3908,7 +3908,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
3908
3908
timeout = POP_I64 ();
3909
3909
expect = POP_I64 ();
3910
3910
addr = POP_I32 ();
3911
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 8 , maddr );
3911
+ CHECK_MEMORY_OVERFLOW ( 8 );
3912
3912
CHECK_ATOMIC_MEMORY_ACCESS ();
3913
3913
3914
3914
ret = wasm_runtime_atomic_wait (
@@ -3941,21 +3941,21 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
3941
3941
addr = POP_I32 ();
3942
3942
3943
3943
if (opcode == WASM_OP_ATOMIC_I32_LOAD8_U ) {
3944
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 1 , maddr );
3944
+ CHECK_MEMORY_OVERFLOW ( 1 );
3945
3945
CHECK_ATOMIC_MEMORY_ACCESS ();
3946
3946
shared_memory_lock (memory );
3947
3947
readv = (uint32 )(* (uint8 * )maddr );
3948
3948
shared_memory_unlock (memory );
3949
3949
}
3950
3950
else if (opcode == WASM_OP_ATOMIC_I32_LOAD16_U ) {
3951
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 2 , maddr );
3951
+ CHECK_MEMORY_OVERFLOW ( 2 );
3952
3952
CHECK_ATOMIC_MEMORY_ACCESS ();
3953
3953
shared_memory_lock (memory );
3954
3954
readv = (uint32 )LOAD_U16 (maddr );
3955
3955
shared_memory_unlock (memory );
3956
3956
}
3957
3957
else {
3958
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 4 , maddr );
3958
+ CHECK_MEMORY_OVERFLOW ( 4 );
3959
3959
CHECK_ATOMIC_MEMORY_ACCESS ();
3960
3960
shared_memory_lock (memory );
3961
3961
readv = LOAD_I32 (maddr );
@@ -3976,28 +3976,28 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
3976
3976
addr = POP_I32 ();
3977
3977
3978
3978
if (opcode == WASM_OP_ATOMIC_I64_LOAD8_U ) {
3979
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 1 , maddr );
3979
+ CHECK_MEMORY_OVERFLOW ( 1 );
3980
3980
CHECK_ATOMIC_MEMORY_ACCESS ();
3981
3981
shared_memory_lock (memory );
3982
3982
readv = (uint64 )(* (uint8 * )maddr );
3983
3983
shared_memory_unlock (memory );
3984
3984
}
3985
3985
else if (opcode == WASM_OP_ATOMIC_I64_LOAD16_U ) {
3986
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 2 , maddr );
3986
+ CHECK_MEMORY_OVERFLOW ( 2 );
3987
3987
CHECK_ATOMIC_MEMORY_ACCESS ();
3988
3988
shared_memory_lock (memory );
3989
3989
readv = (uint64 )LOAD_U16 (maddr );
3990
3990
shared_memory_unlock (memory );
3991
3991
}
3992
3992
else if (opcode == WASM_OP_ATOMIC_I64_LOAD32_U ) {
3993
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 4 , maddr );
3993
+ CHECK_MEMORY_OVERFLOW ( 4 );
3994
3994
CHECK_ATOMIC_MEMORY_ACCESS ();
3995
3995
shared_memory_lock (memory );
3996
3996
readv = (uint64 )LOAD_U32 (maddr );
3997
3997
shared_memory_unlock (memory );
3998
3998
}
3999
3999
else {
4000
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 8 , maddr );
4000
+ CHECK_MEMORY_OVERFLOW ( 8 );
4001
4001
CHECK_ATOMIC_MEMORY_ACCESS ();
4002
4002
shared_memory_lock (memory );
4003
4003
readv = LOAD_I64 (maddr );
@@ -4018,21 +4018,21 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
4018
4018
addr = POP_I32 ();
4019
4019
4020
4020
if (opcode == WASM_OP_ATOMIC_I32_STORE8 ) {
4021
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 1 , maddr );
4021
+ CHECK_MEMORY_OVERFLOW ( 1 );
4022
4022
CHECK_ATOMIC_MEMORY_ACCESS ();
4023
4023
shared_memory_lock (memory );
4024
4024
* (uint8 * )maddr = (uint8 )sval ;
4025
4025
shared_memory_unlock (memory );
4026
4026
}
4027
4027
else if (opcode == WASM_OP_ATOMIC_I32_STORE16 ) {
4028
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 2 , maddr );
4028
+ CHECK_MEMORY_OVERFLOW ( 2 );
4029
4029
CHECK_ATOMIC_MEMORY_ACCESS ();
4030
4030
shared_memory_lock (memory );
4031
4031
STORE_U16 (maddr , (uint16 )sval );
4032
4032
shared_memory_unlock (memory );
4033
4033
}
4034
4034
else {
4035
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 4 , maddr );
4035
+ CHECK_MEMORY_OVERFLOW ( 4 );
4036
4036
CHECK_ATOMIC_MEMORY_ACCESS ();
4037
4037
shared_memory_lock (memory );
4038
4038
STORE_U32 (maddr , sval );
@@ -4052,28 +4052,28 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
4052
4052
addr = POP_I32 ();
4053
4053
4054
4054
if (opcode == WASM_OP_ATOMIC_I64_STORE8 ) {
4055
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 1 , maddr );
4055
+ CHECK_MEMORY_OVERFLOW ( 1 );
4056
4056
CHECK_ATOMIC_MEMORY_ACCESS ();
4057
4057
shared_memory_lock (memory );
4058
4058
* (uint8 * )maddr = (uint8 )sval ;
4059
4059
shared_memory_unlock (memory );
4060
4060
}
4061
4061
else if (opcode == WASM_OP_ATOMIC_I64_STORE16 ) {
4062
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 2 , maddr );
4062
+ CHECK_MEMORY_OVERFLOW ( 2 );
4063
4063
CHECK_ATOMIC_MEMORY_ACCESS ();
4064
4064
shared_memory_lock (memory );
4065
4065
STORE_U16 (maddr , (uint16 )sval );
4066
4066
shared_memory_unlock (memory );
4067
4067
}
4068
4068
else if (opcode == WASM_OP_ATOMIC_I64_STORE32 ) {
4069
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 4 , maddr );
4069
+ CHECK_MEMORY_OVERFLOW ( 4 );
4070
4070
CHECK_ATOMIC_MEMORY_ACCESS ();
4071
4071
shared_memory_lock (memory );
4072
4072
STORE_U32 (maddr , (uint32 )sval );
4073
4073
shared_memory_unlock (memory );
4074
4074
}
4075
4075
else {
4076
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 8 , maddr );
4076
+ CHECK_MEMORY_OVERFLOW ( 8 );
4077
4077
CHECK_ATOMIC_MEMORY_ACCESS ();
4078
4078
shared_memory_lock (memory );
4079
4079
PUT_I64_TO_ADDR ((uint32 * )maddr , sval );
@@ -4093,7 +4093,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
4093
4093
addr = POP_I32 ();
4094
4094
4095
4095
if (opcode == WASM_OP_ATOMIC_RMW_I32_CMPXCHG8_U ) {
4096
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 1 , maddr );
4096
+ CHECK_MEMORY_OVERFLOW ( 1 );
4097
4097
CHECK_ATOMIC_MEMORY_ACCESS ();
4098
4098
4099
4099
expect = (uint8 )expect ;
@@ -4104,7 +4104,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
4104
4104
shared_memory_unlock (memory );
4105
4105
}
4106
4106
else if (opcode == WASM_OP_ATOMIC_RMW_I32_CMPXCHG16_U ) {
4107
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 2 , maddr );
4107
+ CHECK_MEMORY_OVERFLOW ( 2 );
4108
4108
CHECK_ATOMIC_MEMORY_ACCESS ();
4109
4109
4110
4110
expect = (uint16 )expect ;
@@ -4115,7 +4115,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
4115
4115
shared_memory_unlock (memory );
4116
4116
}
4117
4117
else {
4118
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 4 , maddr );
4118
+ CHECK_MEMORY_OVERFLOW ( 4 );
4119
4119
CHECK_ATOMIC_MEMORY_ACCESS ();
4120
4120
4121
4121
shared_memory_lock (memory );
@@ -4139,7 +4139,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
4139
4139
addr = POP_I32 ();
4140
4140
4141
4141
if (opcode == WASM_OP_ATOMIC_RMW_I64_CMPXCHG8_U ) {
4142
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 1 , maddr );
4142
+ CHECK_MEMORY_OVERFLOW ( 1 );
4143
4143
CHECK_ATOMIC_MEMORY_ACCESS ();
4144
4144
4145
4145
expect = (uint8 )expect ;
@@ -4150,7 +4150,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
4150
4150
shared_memory_unlock (memory );
4151
4151
}
4152
4152
else if (opcode == WASM_OP_ATOMIC_RMW_I64_CMPXCHG16_U ) {
4153
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 2 , maddr );
4153
+ CHECK_MEMORY_OVERFLOW ( 2 );
4154
4154
CHECK_ATOMIC_MEMORY_ACCESS ();
4155
4155
4156
4156
expect = (uint16 )expect ;
@@ -4161,7 +4161,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
4161
4161
shared_memory_unlock (memory );
4162
4162
}
4163
4163
else if (opcode == WASM_OP_ATOMIC_RMW_I64_CMPXCHG32_U ) {
4164
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 4 , maddr );
4164
+ CHECK_MEMORY_OVERFLOW ( 4 );
4165
4165
CHECK_ATOMIC_MEMORY_ACCESS ();
4166
4166
4167
4167
expect = (uint32 )expect ;
@@ -4172,7 +4172,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
4172
4172
shared_memory_unlock (memory );
4173
4173
}
4174
4174
else {
4175
- CHECK_BULK_MEMORY_OVERFLOW ( addr + offset , 8 , maddr );
4175
+ CHECK_MEMORY_OVERFLOW ( 8 );
4176
4176
CHECK_ATOMIC_MEMORY_ACCESS ();
4177
4177
4178
4178
shared_memory_lock (memory );
0 commit comments