mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-30 07:14:46 +00:00
Wasm: Clarify some more magic numbers
This commit is contained in:
parent
9290d3ad5c
commit
94ea50f56a
1 changed files with 11 additions and 5 deletions
|
@ -458,15 +458,21 @@ pub enum Limits {
|
||||||
MinMax(u32, u32),
|
MinMax(u32, u32),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[repr(u8)]
|
||||||
|
enum LimitsId {
|
||||||
|
Min = 0,
|
||||||
|
MinMax = 1,
|
||||||
|
}
|
||||||
|
|
||||||
impl Serialize for Limits {
|
impl Serialize for Limits {
|
||||||
fn serialize<T: SerialBuffer>(&self, buffer: &mut T) {
|
fn serialize<T: SerialBuffer>(&self, buffer: &mut T) {
|
||||||
match self {
|
match self {
|
||||||
Self::Min(min) => {
|
Self::Min(min) => {
|
||||||
buffer.append_u8(0);
|
buffer.append_u8(LimitsId::Min as u8);
|
||||||
buffer.encode_u32(*min);
|
buffer.encode_u32(*min);
|
||||||
}
|
}
|
||||||
Self::MinMax(min, max) => {
|
Self::MinMax(min, max) => {
|
||||||
buffer.append_u8(1);
|
buffer.append_u8(LimitsId::MinMax as u8);
|
||||||
buffer.encode_u32(*min);
|
buffer.encode_u32(*min);
|
||||||
buffer.encode_u32(*max);
|
buffer.encode_u32(*max);
|
||||||
}
|
}
|
||||||
|
@ -476,7 +482,7 @@ impl Serialize for Limits {
|
||||||
|
|
||||||
impl SkipBytes for Limits {
|
impl SkipBytes for Limits {
|
||||||
fn skip_bytes(bytes: &[u8], cursor: &mut usize) {
|
fn skip_bytes(bytes: &[u8], cursor: &mut usize) {
|
||||||
if bytes[*cursor] == 0 {
|
if bytes[*cursor] == LimitsId::Min as u8 {
|
||||||
u8::skip_bytes(bytes, cursor);
|
u8::skip_bytes(bytes, cursor);
|
||||||
u32::skip_bytes(bytes, cursor);
|
u32::skip_bytes(bytes, cursor);
|
||||||
} else {
|
} else {
|
||||||
|
@ -831,11 +837,11 @@ impl Serialize for DataSegment<'_> {
|
||||||
fn serialize<T: SerialBuffer>(&self, buffer: &mut T) {
|
fn serialize<T: SerialBuffer>(&self, buffer: &mut T) {
|
||||||
match &self.mode {
|
match &self.mode {
|
||||||
DataMode::Active { offset } => {
|
DataMode::Active { offset } => {
|
||||||
buffer.append_u8(0);
|
buffer.append_u8(0); // variant ID
|
||||||
offset.serialize(buffer);
|
offset.serialize(buffer);
|
||||||
}
|
}
|
||||||
DataMode::Passive => {
|
DataMode::Passive => {
|
||||||
buffer.append_u8(1);
|
buffer.append_u8(1); // variant ID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue