Photon 1.0.0
Loading...
Searching...
No Matches
ECMAVirtualMachine.hpp File Reference
#include <core/Core.hpp>
#include <js/ECMAVirtualMachineJIT.hpp>
#include <unordered_map>
#include <variant>
#include <vector>

Go to the source code of this file.

Classes

struct  Photon::ECMAObject
 
struct  Photon::ECMAInstruction
 
class  Photon::ECMAVirtualMachine
 JavaScriptEngine class program. More...
 

Namespaces

namespace  Photon
 This file is also about defining core js concepts.
 

Macros

#define PHOTON_ECMA_UNDEFINED   "undefined"
 
#define PHOTON_ECMA_NULL   "null"
 
#define PHOTON_ECMA_WINDOW   "window"
 

Typedefs

using Photon::ECMAValue = std::variant< std::monostate, Real, std::string, bool, ECMAObject >
 
using Photon::ECMAFunction = std::function< bool(ECMAVirtualMachine &)>
 
using Photon::ECMAError = BrowserError
 

Enumerations

enum  Photon::ECMAOpcode {
  Photon::kECMAInvalid = 0 , Photon::kECMALoadConst = 100 , Photon::kECMAStoreVar , Photon::kECMALoadVar ,
  Photon::kECMAAddExpr , Photon::kECMASubExpr , Photon::kECMACallNative , Photon::kECMASetProp
}
 

Macro Definition Documentation

◆ PHOTON_ECMA_NULL

#define PHOTON_ECMA_NULL   "null"

◆ PHOTON_ECMA_UNDEFINED

#define PHOTON_ECMA_UNDEFINED   "undefined"

◆ PHOTON_ECMA_WINDOW

#define PHOTON_ECMA_WINDOW   "window"