mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-07 20:43:40 +00:00
compiler: fix max possible slice
This commit improves make([]T, len) to be closer to upstream Go. The difference is unlikely to have much real-world effect, but previously certain make([]T, len) expressions would not result in a slice out of bounds error in TinyGo while they would have done such a thing in Go proper. In practice, available RAM is likely to be a bigger limiting factor.
This commit is contained in:
committed by
Ron Evans
parent
a2cc5715ba
commit
0f2f73be53
Vendored
+2
-2
@@ -127,7 +127,7 @@ slice.next: ; preds = %entry
|
||||
|
||||
define hidden { [3 x i8]*, i32, i32 } @main.makeArraySlice(i32 %len, i8* %context, i8* %parentHandle) unnamed_addr {
|
||||
entry:
|
||||
%slice.maxcap = icmp slt i32 %len, 0
|
||||
%slice.maxcap = icmp ugt i32 %len, 1431655765
|
||||
br i1 %slice.maxcap, label %slice.throw, label %slice.next
|
||||
|
||||
slice.throw: ; preds = %entry
|
||||
@@ -146,7 +146,7 @@ slice.next: ; preds = %entry
|
||||
|
||||
define hidden { i32*, i32, i32 } @main.makeInt32Slice(i32 %len, i8* %context, i8* %parentHandle) unnamed_addr {
|
||||
entry:
|
||||
%slice.maxcap = icmp slt i32 %len, 0
|
||||
%slice.maxcap = icmp ugt i32 %len, 1073741823
|
||||
br i1 %slice.maxcap, label %slice.throw, label %slice.next
|
||||
|
||||
slice.throw: ; preds = %entry
|
||||
|
||||
Reference in New Issue
Block a user