Skip to content

Commit 1328dde

Browse files
committed
Fixes flexbuffers @inline(__always) of functions
1 parent 263a3bd commit 1328dde

File tree

2 files changed

+20
-24
lines changed

2 files changed

+20
-24
lines changed

swift/Sources/FlexBuffers/Writer/FlexBuffersWriter.swift

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ public struct FlexBuffersWriter {
8383
}
8484

8585
// MARK: - Storing root
86-
@inline(__always)
8786
public mutating func finish() {
8887
assert(stack.count == 1)
8988

@@ -118,7 +117,6 @@ public struct FlexBuffersWriter {
118117
}
119118

120119
@discardableResult
121-
@inline(__always)
122120
public mutating func endVector(
123121
start: Int,
124122
typed: Bool = false,
@@ -184,7 +182,6 @@ public struct FlexBuffersWriter {
184182
}
185183

186184
@discardableResult
187-
@inline(__always)
188185
public mutating func endMap(start: Int) -> UInt64 {
189186
let len = sortMapByKeys(start: start)
190187

@@ -510,8 +507,8 @@ public struct FlexBuffersWriter {
510507

511508
// MARK: Writing to buffer
512509

513-
@inline(__always)
514-
private mutating func write(value: Value, byteWidth: Int) {
510+
@usableFromInline
511+
mutating func write(value: Value, byteWidth: Int) {
515512
switch value.type {
516513
case .null, .int: write(value: value.i, byteWidth: byteWidth)
517514
case .bool, .uint: write(value: value.u, byteWidth: byteWidth)
@@ -521,8 +518,8 @@ public struct FlexBuffersWriter {
521518
}
522519
}
523520

524-
@inline(__always)
525-
private mutating func pushIndirect<T>(
521+
@usableFromInline
522+
mutating func pushIndirect<T>(
526523
value: T,
527524
type: FlexBufferType,
528525
bitWidth: BitWidth)
@@ -545,8 +542,8 @@ public struct FlexBuffersWriter {
545542
/// - Parameter str: String that will be added to the buffer
546543
/// - Parameter len: length of the string
547544
@discardableResult
548-
@inline(__always)
549-
private mutating func write(str: borrowing String, len: Int) -> UInt {
545+
@usableFromInline
546+
mutating func write(str: borrowing String, len: Int) -> UInt {
550547
let resetTo = writerIndex
551548
var sloc = str.withCString {
552549
storeBlob(pointer: $0, len: len, trailing: 1, type: .string)
@@ -576,8 +573,8 @@ public struct FlexBuffersWriter {
576573
}
577574

578575
@discardableResult
579-
@inline(__always)
580-
private mutating func add(key: borrowing String, len: Int) -> UInt {
576+
@usableFromInline
577+
mutating func add(key: borrowing String, len: Int) -> UInt {
581578
_bb.ensureSpace(size: len)
582579

583580
var sloc: UInt = numericCast(writerIndex)
@@ -612,7 +609,6 @@ public struct FlexBuffersWriter {
612609

613610
@discardableResult
614611
@usableFromInline
615-
@inline(__always)
616612
mutating func storeBlob(
617613
pointer: borrowing UnsafeRawPointer,
618614
len: Int,
@@ -639,8 +635,8 @@ public struct FlexBuffersWriter {
639635

640636
// MARK: Write Vectors
641637
@discardableResult
642-
@inline(__always)
643-
private mutating func create<T>(vector: [T], fixed: Bool) -> Int
638+
@usableFromInline
639+
mutating func create<T>(vector: [T], fixed: Bool) -> Int
644640
where T: Scalar
645641
{
646642
let length: UInt64 = numericCast(vector.count)
@@ -671,8 +667,8 @@ public struct FlexBuffersWriter {
671667
return vloc
672668
}
673669

674-
@inline(__always)
675-
private mutating func createVector(
670+
@usableFromInline
671+
mutating func createVector(
676672
start: Int,
677673
count: Int,
678674
step: Int,
@@ -803,8 +799,8 @@ public struct FlexBuffersWriter {
803799
return bytes
804800
}
805801

806-
@inline(__always)
807-
private mutating func sortMapByKeys(start: Int) -> Int {
802+
@usableFromInline
803+
mutating func sortMapByKeys(start: Int) -> Int {
808804
let len = mapElementCount(start: start)
809805
for index in stride(from: start, to: stack.count, by: 2) {
810806
assert(stack[index].type == .key)
@@ -844,7 +840,7 @@ extension FlexBuffersWriter {
844840
@inline(__always)
845841
public mutating func vector(
846842
key: String,
847-
_ closure: @escaping FlexBuffersWriterBuilder) -> UInt64
843+
_ closure: FlexBuffersWriterBuilder) -> UInt64
848844
{
849845
let start = startVector(key: key)
850846
closure(&self)
@@ -853,7 +849,7 @@ extension FlexBuffersWriter {
853849

854850
@discardableResult
855851
@inline(__always)
856-
public mutating func vector(_ closure: @escaping FlexBuffersWriterBuilder)
852+
public mutating func vector(_ closure: FlexBuffersWriterBuilder)
857853
-> UInt64
858854
{
859855
let start = startVector()
@@ -865,19 +861,17 @@ extension FlexBuffersWriter {
865861
// MARK: - Maps helper functions
866862
extension FlexBuffersWriter {
867863
@discardableResult
868-
@inline(__always)
869864
public mutating func map(
870865
key: String,
871-
_ closure: @escaping FlexBuffersWriterBuilder) -> UInt64
866+
_ closure: FlexBuffersWriterBuilder) -> UInt64
872867
{
873868
let start = startMap(key: key)
874869
closure(&self)
875870
return endMap(start: start)
876871
}
877872

878873
@discardableResult
879-
@inline(__always)
880-
public mutating func map(_ closure: @escaping FlexBuffersWriterBuilder)
874+
public mutating func map(_ closure: FlexBuffersWriterBuilder)
881875
-> UInt64
882876
{
883877
let start = startMap()

swift/Sources/FlexBuffers/_InternalByteBuffer.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ struct _InternalByteBuffer {
156156
ensureSpace(size: writerIndex)
157157
}
158158

159+
@inline(__always)
159160
mutating func writeBytes(_ ptr: UnsafeRawPointer, len: Int) {
160161
memcpy(
161162
_storage.memory.advanced(by: writerIndex),
@@ -164,6 +165,7 @@ struct _InternalByteBuffer {
164165
writerIndex = writerIndex &+ len
165166
}
166167

168+
@inline(__always)
167169
mutating func write<T>(_ v: T, len: Int) {
168170
withUnsafePointer(to: v) {
169171
memcpy(

0 commit comments

Comments
 (0)