Git Product home page Git Product logo

adobe / avmplus Goto Github PK

View Code? Open in Web Editor NEW
203.0 28.0 69.0 17.43 MB

Source code for the Actionscript virtual machine

License: Mozilla Public License 2.0

C++ 36.54% Makefile 1.01% Python 2.94% HTML 1.73% CSS 0.01% ColdFusion 0.01% Shell 2.90% ActionScript 41.02% Batchfile 0.02% Assembly 1.10% Java 2.32% C 7.27% Erlang 0.52% CMake 0.08% LLVM 0.01% Scheme 0.01% Hack 0.46% JavaScript 0.65% Groff 1.41% Perl 0.03%

avmplus's Introduction

avmplus

Source code for the Actionscript virtual machine

avmplus's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

avmplus's Issues

nanojit question

Hi @wmaddox3rd

I have noticed that in lirasm immediately after the LIR_start instruction, there are additional instructions to save registers.

    mLir->ins0(LIR_start);
    for (int i = 0; i < nanojit::NumSavedRegs; ++i)
        mLir->insParam(i, 1);

Similarly in LirHelper - this is done done in emitStart():

    // create params for saved regs -- processor specific
    for (int i=0; i < NumSavedRegs; i++) {
        LIns *p = lirout->insParam(i, 1); (void) p;
    }

In lirasm when a fragment is ended a guard is inserted:

    mFragment->lastIns =
        mLir->insGuard(LIR_x, NULL, createGuardRecord(createSideExit()))

I noticed that the registers saved initially are popped in the guard section.
Looking at the generated code it seems to me though that when the code fragment has 'ret' instructions then the guard will never be executed - so in that case the saved registers will not be restored?

Is it mandatory to include the guard?

Thanks and Regards

ask help about compile avmplus under windows

hi, guys. I want to compile this latest avmplus under windows. I can't find any manuals about this. I find there are a lot vs solution files under platform\win32. However, I try to load the avm2010.sln into vs 2010. And when i compile the project, the error C2220 saying no object file is generated occurs. There are only lots of .obj file in the output folder. Is this a successful compilation? How can I make a avmplus.lib or avmplus.dll? Thanks

Is this project still active?

Hi @wmaddox3rd,

My name is Fil and I’m from Adobe’s Open Source Office. I see this project has been inactive for a couple of years now. Just wondering: is there still value in keeping this project around? Do we foresee community usage/activity happening around this project? Looks like issues have been filed but we haven't been super responsive to those 😞

If this is still valid and should remain open, can I send some pull requests to update the documentation? At a minimum we need contribution guidelines that reference requiring the signing of Adobe’s CLA, but the documentation in this repo, in general, needs a lot of work. I am happy to help with that if you wish, if someone can help me understand how to use this repo, how to build and run it, and how to run the tests?

If no, is it OK if we archive this project?

Thanks for any info.

-Fil

lirasm fails to build on Windows

Hi,

Looks like in lirasm.cpp the following definition:

nanojit::Allocator::allocChunk(size_t nbytes, bool /*fallible*/)

doesn't match the declaration which does not have the extra bool parameter.

Also the following lines fail:

mLir = mCseFilter = new CseFilter(mLir, LIRASM_NUM_USED_ACCS, mParent.mAlloc);

Should this be:

mLir = mCseFilter = new CseFilter(mLir, LIRASM_NUM_USED_ACCS, mParent.mAlloc, mParent.mConfig);

And

Lirasm::Lirasm(bool verbose, Config& config) :
     mConfig(config),
     mAssm(mCodeAlloc, mAlloc, mAlloc, &mLogc, mConfig)

should be:

Lirasm::Lirasm(bool verbose, Config& config) :
     mConfig(config),
     mCodeAlloc(&config),
     mAssm(mCodeAlloc, mAlloc, mAlloc, &mLogc, mConfig)

I am building lirasm using Visual C++ 2015 on Windows 10.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.