Chromium Code Reviews| Index: src/full-codegen.cc |
| diff --git a/src/full-codegen.cc b/src/full-codegen.cc |
| index 16bb6c0d01330e73bacb096ed5d70619ed615078..b98483208ca7120db7b1879ca3739af741371875 100644 |
| --- a/src/full-codegen.cc |
| +++ b/src/full-codegen.cc |
| @@ -950,6 +950,34 @@ void FullCodeGenerator::EmitDebugBreakInOptimizedCode(CallRuntime* expr) { |
| } |
| +void FullCodeGenerator::EmitDoubleHi(CallRuntime* expr) { |
| + ZoneList<Expression*>* args = expr->arguments(); |
| + ASSERT(args->length() == 1); |
| + VisitForStackValue(args->at(0)); |
| + masm()->CallRuntime(Runtime::kDoubleHi, 1); |
|
Sven Panne
2014/03/03 11:28:27
Hopefully the usual benchmarks will not force us t
|
| + context()->Plug(result_register()); |
| +} |
| + |
| + |
| +void FullCodeGenerator::EmitDoubleLo(CallRuntime* expr) { |
| + ZoneList<Expression*>* args = expr->arguments(); |
| + ASSERT(args->length() == 1); |
| + VisitForStackValue(args->at(0)); |
| + masm()->CallRuntime(Runtime::kDoubleLo, 1); |
| + context()->Plug(result_register()); |
| +} |
| + |
| + |
| +void FullCodeGenerator::EmitConstructDouble(CallRuntime* expr) { |
| + ZoneList<Expression*>* args = expr->arguments(); |
| + ASSERT(args->length() == 2); |
| + VisitForStackValue(args->at(0)); |
| + VisitForStackValue(args->at(1)); |
| + masm()->CallRuntime(Runtime::kConstructDouble, 2); |
| + context()->Plug(result_register()); |
| +} |
| + |
| + |
| void FullCodeGenerator::VisitBinaryOperation(BinaryOperation* expr) { |
| switch (expr->op()) { |
| case Token::COMMA: |