GithubHelp home page GithubHelp logo

spidermonkey_bytecode_train's Introduction

spidermonkey_bytecode_train's People

Contributors

mas0nshi avatar

Watchers

 avatar  avatar

Forkers

elliottt

spidermonkey_bytecode_train's Issues

XDRObjectLiteral and XDRScriptConst refer to each other.

Python can not refer to each other...
I will read the construct docs later.

# TODO: XDRObjectLiteral and XDRScriptConst refer to each other.
XDRObjectLiteral = Struct(
"isArray" / Int32ul,
"length" / IfThenElse(this.isArray, Int32ul, AllocKind),
"capacity" / Int32ul, # Number of allocated slots.
"initializedLength" / Int32ul, # initialized: Number of initialized elements.
# "tmpValue" / XDRScriptConst, # Recursively copy dense elements.
"nslot" / Int32ul,
"slot" / Array(this.nslot, Struct(
"idType" / Int32ul,
"id" / Switch(this.idType, {
JSID_TYPE_STRING: "atom" / XDRAtom,
JSID_TYPE_INT: "indexVal" / Int32ul,
}),
# "tmpValue" / XDRScriptConst,
))
)
XDRScriptConst = Struct(
"tag" / ConstTag,
"value" / Switch(
this.tag,
{
"SCRIPT_INT": Int32ul,
"SCRIPT_DOUBLE": DoublePun,
"SCRIPT_ATOM": XDRAtom,
"SCRIPT_TRUE": None,
"SCRIPT_FALSE": None,
"SCRIPT_NULL": None,
"SCRIPT_OBJECT": XDRObjectLiteral,
"SCRIPT_VOID": None,
"SCRIPT_HOLE": None,
}
)
)

NOT IMPLEMENTED

# TODO: not implemented.
# "consts" / Array(this.nconsts, XDRScriptConst),
# "objects" / Array(this.nobjects, ),
# "regexps" / Array(this.nregexps, XDRScriptRegExpObject),
# "trynotes" / Array(this.ntrynotes, JSTryNote),
# "nblockscopes" / Array(this.nblockscopes, BlockScopeNote),
# "LazyScript" / If(this.scriptBits.HasLazyScript, XDRRelazificationInfo)
)

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.