mirror of
https://github.com/pjh456/OxideJS.git
synced 2026-10-25 11:11:11 +08:00
perf: 字符串拼接消除冗余拷贝
This commit is contained in:
@@ -20,8 +20,9 @@ impl Vm {
|
|||||||
buf.clear();
|
buf.clear();
|
||||||
coercion::push_to_string(lhs, &mut buf);
|
coercion::push_to_string(lhs, &mut buf);
|
||||||
coercion::push_to_string(rhs, &mut buf);
|
coercion::push_to_string(rhs, &mut buf);
|
||||||
self.regs[rd] = self.new_string(&buf);
|
let result = self.new_string_owned(buf);
|
||||||
self.string_buf = buf;
|
self.string_buf = String::new();
|
||||||
|
self.regs[rd] = result;
|
||||||
} else {
|
} else {
|
||||||
let ln = coercion::to_number(lhs);
|
let ln = coercion::to_number(lhs);
|
||||||
let rn = coercion::to_number(rhs);
|
let rn = coercion::to_number(rhs);
|
||||||
@@ -61,8 +62,9 @@ impl Vm {
|
|||||||
buf.clear();
|
buf.clear();
|
||||||
coercion::push_to_string(lhs, &mut buf);
|
coercion::push_to_string(lhs, &mut buf);
|
||||||
coercion::push_to_string(rhs, &mut buf);
|
coercion::push_to_string(rhs, &mut buf);
|
||||||
self.regs[rd] = self.new_string(&buf);
|
let result = self.new_string_owned(buf);
|
||||||
self.string_buf = buf;
|
self.string_buf = String::new();
|
||||||
|
self.regs[rd] = result;
|
||||||
} else {
|
} else {
|
||||||
let ln = coercion::to_number(lhs);
|
let ln = coercion::to_number(lhs);
|
||||||
let rn = coercion::to_number(rhs);
|
let rn = coercion::to_number(rhs);
|
||||||
|
|||||||
Reference in New Issue
Block a user