aboutsummaryrefslogtreecommitdiffstats
path: root/src/vm.rs
diff options
context:
space:
mode:
authorEdvard Thörnros <edvard.thornros@gmail.com>2021-01-30 18:42:11 +0100
committerEdvard Thörnros <edvard.thornros@gmail.com>2021-01-30 18:42:11 +0100
commit1a82b85817646aded501051f4e9d651f7c0d4970 (patch)
tree14d8bf49f94a0eac515ba0fc9e8c39733643477b /src/vm.rs
parenta8309ffa30e9f2a9432d9bf3d9fea5d954b1e462 (diff)
downloadsylt-1a82b85817646aded501051f4e9d651f7c0d4970.tar.gz
tuple values
Diffstat (limited to 'src/vm.rs')
-rw-r--r--src/vm.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vm.rs b/src/vm.rs
index e2b9e57..fa998b8 100644
--- a/src/vm.rs
+++ b/src/vm.rs
@@ -139,6 +139,11 @@ impl VM {
self.stack.pop().unwrap();
}
+ Op::Tuple(size) => {
+ let values = self.stack.split_off(self.stack.len() - size);
+ self.stack.push(Value::Tuple(Rc::new(values)));
+ }
+
Op::PopUpvalue => {
let value = self.stack.pop().unwrap();
let slot = self.stack.len();