Chromium Code Reviews| Index: runtime/vm/intermediate_language_dbc.cc |
| diff --git a/runtime/vm/intermediate_language_dbc.cc b/runtime/vm/intermediate_language_dbc.cc |
| index aef3bb86e2d5b435a6026baa361edf76f6a67611..9567679f9cf725a147976a4fe9a37bacc0595f2a 100644 |
| --- a/runtime/vm/intermediate_language_dbc.cc |
| +++ b/runtime/vm/intermediate_language_dbc.cc |
| @@ -55,8 +55,6 @@ DECLARE_FLAG(int, optimization_counter_threshold); |
| M(BinaryMintOp) \ |
| M(ShiftMintOp) \ |
| M(UnaryMintOp) \ |
| - M(StringToCharCode) \ |
| - M(OneByteStringFromCharCode) \ |
| M(InvokeMathCFunction) \ |
| M(MergedMath) \ |
| M(GuardFieldClass) \ |
| @@ -599,6 +597,27 @@ EMIT_NATIVE_CODE(NativeCall, |
| } |
| +EMIT_NATIVE_CODE(OneByteStringFromCharCode, |
| + 1, Location::RequiresRegister(), |
| + LocationSummary::kNoCall) { |
| + ASSERT(compiler->is_optimizing()); |
| + Register char_code = locs()->in(0).reg(); // Char code is a smi. |
|
zra
2016/06/29 14:34:12
const Register
rmacnak
2016/06/29 16:44:16
Done.
|
| + Register result = locs()->out(0).reg(); |
| + __ OneByteStringFromCharCode(result, char_code); |
| +} |
| + |
| + |
| +EMIT_NATIVE_CODE(StringToCharCode, |
| + 1, Location::RequiresRegister(), |
| + LocationSummary::kNoCall) { |
| + ASSERT(cid_ == kOneByteStringCid); |
| + Register str = locs()->in(0).reg(); |
| + Register result = locs()->out(0).reg(); // Result char code is a smi. |
| + __ StringToCharCode(result, str); |
| +} |
| + |
| + |
| + |
| EMIT_NATIVE_CODE(AllocateObject, |
| 0, Location::RequiresRegister(), |
| LocationSummary::kCall) { |