summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/x86/LowerMove.cpp
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2014-08-05 12:46:17 -0700
committerBrian Carlstrom <bdc@google.com>2014-08-05 12:51:13 -0700
commit870b4f2d70d67d6dbb7d0881d101c61bed8caad2 (patch)
tree7487dad3970556a040f88a49852a3dc9ed19bebd /vm/compiler/codegen/x86/LowerMove.cpp
parent76e15e367ae1189b6f641ba8d16ca92bd179dac0 (diff)
downloadandroid_dalvik-870b4f2d70d67d6dbb7d0881d101c61bed8caad2.tar.gz
android_dalvik-870b4f2d70d67d6dbb7d0881d101c61bed8caad2.tar.bz2
android_dalvik-870b4f2d70d67d6dbb7d0881d101c61bed8caad2.zip
Dalvik is dead, long live Dalvik!
croot cd dalvik repo start dalvik-is-dead-long-live-dalvik . repo sync -c . git rm -r README.txt git rm -r dexopt git rm -r tools/deadcode.py git rm -r tools/dex-preopt git rm -r tools/dexcheck git rm -r tools/gdbjithelper git rm -r unit-tests git rm -r vm git checkout HEAD vm/Common.h (needed by libdex) git checkout HEAD vm/DalvikVersion.h (needed by libdex) git checkout HEAD vm/Profile.h (needed by dmtracedump) git add Android.mk (after removing vm, dexopt, and unit-tests references) git commit -a -m 'Dalvik is dead, long live Dalvik!' Bug: 14298175 Change-Id: I9dd13053677629d13496d4238af4374452cda415
Diffstat (limited to 'vm/compiler/codegen/x86/LowerMove.cpp')
-rw-r--r--vm/compiler/codegen/x86/LowerMove.cpp149
1 files changed, 0 insertions, 149 deletions
diff --git a/vm/compiler/codegen/x86/LowerMove.cpp b/vm/compiler/codegen/x86/LowerMove.cpp
deleted file mode 100644
index 2f0b5bce0..000000000
--- a/vm/compiler/codegen/x86/LowerMove.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-/*! \file LowerMove.cpp
- \brief This file lowers the following bytecodes: MOVE_XXX
-*/
-#include "libdex/DexOpcodes.h"
-#include "libdex/DexFile.h"
-#include "Lower.h"
-#include "enc_wrapper.h"
-
-#define P_GPR_1 PhysicalReg_EBX
-//! lower bytecode MOVE
-
-//!
-int op_move() {
- u2 vA, vB;
- vA = INST_A(inst);
- vB = INST_B(inst);
- get_virtual_reg(vB, OpndSize_32, 1, false/*isPhysical*/);
- set_virtual_reg(vA, OpndSize_32, 1, false);
- rPC += 1;
- return 2;
-}
-//! lower bytecode MOVE_FROM16
-
-//!
-int op_move_from16() {
- u2 vA, vB;
- vA = INST_AA(inst);
- vB = FETCH(1);
- get_virtual_reg(vB, OpndSize_32, 1, false);
- set_virtual_reg(vA, OpndSize_32, 1, false);
- rPC += 2;
- return 2;
-}
-//! lower bytecode MOVE_16
-
-//!
-int op_move_16() {
- u2 vA, vB;
- vA = FETCH(1);
- vB = FETCH(2);
- get_virtual_reg(vB, OpndSize_32, 1, false);
- set_virtual_reg(vA, OpndSize_32, 1, false);
- rPC += 3;
- return 2;
-}
-#undef P_GPR_1
-//! lower bytecode MOVE_WIDE
-
-//!
-int op_move_wide() {
- u2 vA = INST_A(inst);
- u2 vB = INST_B(inst);
- get_virtual_reg(vB, OpndSize_64, 1, false);
- set_virtual_reg(vA, OpndSize_64, 1, false);
- rPC += 1;
- return 2;
-}
-//! lower bytecode MOVE_WIDE_FROM16
-
-//!
-int op_move_wide_from16() {
- u2 vA = INST_AA(inst);
- u2 vB = FETCH(1);
- get_virtual_reg(vB, OpndSize_64, 1, false);
- set_virtual_reg(vA, OpndSize_64, 1, false);
- rPC += 2;
- return 2;
-}
-//! lower bytecode MOVE_WIDE_16
-
-//!
-int op_move_wide_16() {
- u2 vA = FETCH(1);
- u2 vB = FETCH(2);
- get_virtual_reg(vB, OpndSize_64, 1, false);
- set_virtual_reg(vA, OpndSize_64, 1, false);
- rPC += 3;
- return 2;
-}
-//! lower bytecode MOVE_RESULT.
-
-//! the return value from bytecode INVOKE is stored in the glue structure
-int op_move_result() {
-#ifdef WITH_JIT_INLINING
- /* An inlined move result is effectively no-op */
- if (traceCurrentMIR->OptimizationFlags & MIR_INLINED)
- return 0;
-#endif
- u2 vA = INST_AA(inst);
- scratchRegs[0] = PhysicalReg_SCRATCH_1;
- get_return_value(OpndSize_32, 1, false);
- set_virtual_reg(vA, OpndSize_32, 1, false);
- rPC += 1;
- return 0;
-}
-//! lower bytecode MOVE_RESULT_WIDE.
-
-//! the return value from bytecode INVOKE is stored in the glue structure
-int op_move_result_wide() {
-#ifdef WITH_JIT_INLINING
- /* An inlined move result is effectively no-op */
- if (traceCurrentMIR->OptimizationFlags & MIR_INLINED)
- return 0;
-#endif
- u2 vA = INST_AA(inst);
- scratchRegs[0] = PhysicalReg_SCRATCH_1;
- get_return_value(OpndSize_64, 1, false);
- set_virtual_reg(vA, OpndSize_64, 1, false);
- rPC += 1;
- return 0;
-}
-
-#define P_GPR_1 PhysicalReg_EBX
-#define P_GPR_2 PhysicalReg_ECX
-//!lower bytecode MOVE_RESULT_EXCEPTION
-
-//!update a virtual register with exception from glue structure;
-//!clear the exception from glue structure
-int op_move_exception() {
- u2 vA = INST_AA(inst);
- scratchRegs[2] = PhysicalReg_Null; scratchRegs[3] = PhysicalReg_Null;
- scratchRegs[0] = PhysicalReg_SCRATCH_1; scratchRegs[1] = PhysicalReg_Null;
- get_self_pointer(2, false);
- move_mem_to_reg(OpndSize_32, offThread_exception, 2, false, 3, false);
- move_imm_to_mem(OpndSize_32, 0, offThread_exception, 2, false);
- set_virtual_reg(vA, OpndSize_32, 3, false);
- rPC += 1;
- return 0;
-}
-#undef P_GPR_1
-#undef P_GPR_2
-