rm push/pop
This commit is contained in:
14
qbe_emit.cm
14
qbe_emit.cm
@@ -948,7 +948,7 @@ var qbe_emit = function(ir, qbe, export_name) {
|
||||
// ============================================================
|
||||
|
||||
var emit = function(s) {
|
||||
push(out, s)
|
||||
out[] = s
|
||||
}
|
||||
|
||||
var fresh = function() {
|
||||
@@ -982,9 +982,9 @@ var qbe_emit = function(ir, qbe, export_name) {
|
||||
escaped = replace(escaped, "\r", "\\r")
|
||||
escaped = replace(escaped, "\t", "\\t")
|
||||
var line = "data " + label + ' = ' + '{ b "' + escaped + '", b 0 }'
|
||||
push(data_out, line)
|
||||
data_out[] = line
|
||||
var entry = { label: label, idx: length(str_entries) }
|
||||
push(str_entries, entry)
|
||||
str_entries[] = entry
|
||||
str_table[val] = entry
|
||||
return entry
|
||||
}
|
||||
@@ -2909,16 +2909,16 @@ var qbe_emit = function(ir, qbe, export_name) {
|
||||
|
||||
// Export nr_slots for main function so the module loader can use right-sized frames
|
||||
var main_name = export_name ? sanitize(export_name) : "cell_main"
|
||||
push(data_out, "export data $" + main_name + "_nr_slots = { w " + text(ir.main.nr_slots) + " }")
|
||||
push(data_out, "export data $cell_lit_count = { w " + text(length(str_entries)) + " }")
|
||||
data_out[] = "export data $" + main_name + "_nr_slots = { w " + text(ir.main.nr_slots) + " }"
|
||||
data_out[] = "export data $cell_lit_count = { w " + text(length(str_entries)) + " }"
|
||||
if (length(str_entries) > 0) {
|
||||
lit_data = []
|
||||
si = 0
|
||||
while (si < length(str_entries)) {
|
||||
push(lit_data, `l ${str_entries[si].label}`)
|
||||
lit_data[] = `l ${str_entries[si].label}`
|
||||
si = si + 1
|
||||
}
|
||||
push(data_out, "export data $cell_lit_table = { " + text(lit_data, ", ") + " }")
|
||||
data_out[] = "export data $cell_lit_table = { " + text(lit_data, ", ") + " }"
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user