Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Serialization of (non-inlined) P6int/P6num/P6str.
  • Loading branch information
jnthn committed Mar 9, 2013
1 parent ffbaa3b commit f5c98f8
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/org/perl6/nqp/sixmodel/reprs/P6int.java
Expand Up @@ -10,10 +10,12 @@
import org.apache.bcel.generic.InstructionList;
import org.apache.bcel.generic.MethodGen;
import org.apache.bcel.generic.Type;
import org.perl6.nqp.runtime.ExceptionHandling;
import org.perl6.nqp.runtime.ThreadContext;
import org.perl6.nqp.sixmodel.REPR;
import org.perl6.nqp.sixmodel.STable;
import org.perl6.nqp.sixmodel.SerializationReader;
import org.perl6.nqp.sixmodel.SerializationWriter;
import org.perl6.nqp.sixmodel.SixModelObject;
import org.perl6.nqp.sixmodel.StorageSpec;
import org.perl6.nqp.sixmodel.TypeObject;
Expand Down Expand Up @@ -115,6 +117,10 @@ public void deserialize_finish(ThreadContext tc, STable st,
((P6intInstance)obj).value = reader.readLong();
}

public void serialize(ThreadContext tc, SerializationWriter writer, SixModelObject obj) {
writer.writeInt(((P6intInstance)obj).value);
}

public void deserialize_inlined(ThreadContext tc, STable st, SerializationReader reader,
String prefix, SixModelObject obj) {
try {
Expand Down
5 changes: 5 additions & 0 deletions src/org/perl6/nqp/sixmodel/reprs/P6num.java
Expand Up @@ -14,6 +14,7 @@
import org.perl6.nqp.sixmodel.REPR;
import org.perl6.nqp.sixmodel.STable;
import org.perl6.nqp.sixmodel.SerializationReader;
import org.perl6.nqp.sixmodel.SerializationWriter;
import org.perl6.nqp.sixmodel.SixModelObject;
import org.perl6.nqp.sixmodel.StorageSpec;
import org.perl6.nqp.sixmodel.TypeObject;
Expand Down Expand Up @@ -116,6 +117,10 @@ public void deserialize_finish(ThreadContext tc, STable st,
((P6numInstance)obj).value = reader.readDouble();
}

public void serialize(ThreadContext tc, SerializationWriter writer, SixModelObject obj) {
writer.writeNum(((P6numInstance)obj).value);
}

public void deserialize_inlined(ThreadContext tc, STable st, SerializationReader reader,
String prefix, SixModelObject obj) {
try {
Expand Down
5 changes: 5 additions & 0 deletions src/org/perl6/nqp/sixmodel/reprs/P6str.java
Expand Up @@ -14,6 +14,7 @@
import org.perl6.nqp.sixmodel.REPR;
import org.perl6.nqp.sixmodel.STable;
import org.perl6.nqp.sixmodel.SerializationReader;
import org.perl6.nqp.sixmodel.SerializationWriter;
import org.perl6.nqp.sixmodel.SixModelObject;
import org.perl6.nqp.sixmodel.StorageSpec;
import org.perl6.nqp.sixmodel.TypeObject;
Expand Down Expand Up @@ -115,6 +116,10 @@ public void deserialize_finish(ThreadContext tc, STable st,
((P6strInstance)obj).value = reader.readStr();
}

public void serialize(ThreadContext tc, SerializationWriter writer, SixModelObject obj) {
writer.writeStr(((P6strInstance)obj).value);
}

public void deserialize_inlined(ThreadContext tc, STable st, SerializationReader reader,
String prefix, SixModelObject obj) {
try {
Expand Down

0 comments on commit f5c98f8

Please sign in to comment.