Index: src/full-codegen.cc |
diff --git a/src/full-codegen.cc b/src/full-codegen.cc |
index 96410747a266647b0df14b226a0b9ad8f7fcce24..d116bae581a80fa3636f9ae1c7e41c48bb03d789 100644 |
--- a/src/full-codegen.cc |
+++ b/src/full-codegen.cc |
@@ -939,6 +939,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); |
+ 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: |