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); |
+ 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: |