-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
class AsmX86
{
public:
- std::vector<char> convertIntoMachineLangage(const std::vector<std::string>& asmb) const throw(INTERP_KERNEL::Exception);
+ std::vector<char> convertIntoMachineLangage(const std::vector<std::string>& asmb) const;
char *copyToExecMemZone(const std::vector<char>& ml, unsigned& offset) const;
private:
- void convertOneInstructionInML(const std::string& inst, std::vector<char>& ml) const throw(INTERP_KERNEL::Exception);
+ void convertOneInstructionInML(const std::string& inst, std::vector<char>& ml) const;
private:
- static void convertMov(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertPush(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertPop(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFld(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFaddp(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFsubp(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFmulp(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFdivp(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFcos(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFsin(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFabs(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFchs(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFsqrt(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertSub(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertAdd(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertRet(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertLeave(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertMovsd(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void convertFst(const std::string& inst, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
+ static void convertMov(const std::string& inst, std::vector<char>& ml);
+ static void convertPush(const std::string& inst, std::vector<char>& ml);
+ static void convertPop(const std::string& inst, std::vector<char>& ml);
+ static void convertFld(const std::string& inst, std::vector<char>& ml);
+ static void convertFaddp(const std::string& inst, std::vector<char>& ml);
+ static void convertFsubp(const std::string& inst, std::vector<char>& ml);
+ static void convertFmulp(const std::string& inst, std::vector<char>& ml);
+ static void convertFdivp(const std::string& inst, std::vector<char>& ml);
+ static void convertFcos(const std::string& inst, std::vector<char>& ml);
+ static void convertFsin(const std::string& inst, std::vector<char>& ml);
+ static void convertFabs(const std::string& inst, std::vector<char>& ml);
+ static void convertFchs(const std::string& inst, std::vector<char>& ml);
+ static void convertFsqrt(const std::string& inst, std::vector<char>& ml);
+ static void convertSub(const std::string& inst, std::vector<char>& ml);
+ static void convertAdd(const std::string& inst, std::vector<char>& ml);
+ static void convertRet(const std::string& inst, std::vector<char>& ml);
+ static void convertLeave(const std::string& inst, std::vector<char>& ml);
+ static void convertMovsd(const std::string& inst, std::vector<char>& ml);
+ static void convertFst(const std::string& inst, std::vector<char>& ml);
//
- static void convertMovToEsp(const std::string& inst1, const std::string& inst2, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
- static void appendAddress(const std::string& addr, int nbOfByte, std::vector<char>& ml) throw(INTERP_KERNEL::Exception);
+ static void convertMovToEsp(const std::string& inst1, const std::string& inst2, std::vector<char>& ml);
+ static void appendAddress(const std::string& addr, int nbOfByte, std::vector<char>& ml);
private:
static const int NB_OF_OPS=19;
static const char *OPS[NB_OF_OPS];