Coder Social home page Coder Social logo

erlv8's Introduction

Quick Instructions
==================

In order to build Beam.JS, make sure you have g++, erlang & scons installed system-wide. Then just type:

	$ make

After a couple of minutes (V8 takes quite some time to build), it should be over. In order to start using Beam.JS REPL, just type:

        $ ./beamjs

Good luck!

erlv8's People

Contributors

evax avatar gleber avatar licenser avatar yrashk avatar

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

erlv8's Issues

Add value tainting

(so that we can create real objects/funs/... without assigning them or something)

Add support for bignums

For example

       beam.js> 21474836481232342342342342342234234234
       -9223372036854775808

While it is a perfectly legal number in Erlang:

       2> 21474836481232342342342342342234234234.
       21474836481232342342342342342234234234

delete crashes the vm

Here is an example (from beam.js REPL):

   beam.js> delete a.x
   size_object: bad tag for 0x0

   ./console: line 3: 25619 Abort trap

VM forking

So we can possibly load balance between VMs? Keep in mind that V8 is single-threaded anyway.

Odd segfault in erl_drv_cond_create -> erts_alcu_alloc_thr_pref -> mbc_alloc -> bf_get_free_block

Never seen this on my mac pro, but got this couple of times on my slow macbook air:

  Thread 6 (core thread 5):
  0  0x000000001001a3a9 in bf_get_free_block ()
  1  0x0000000010011c56 in mbc_alloc ()
  2  0x00000000100130dc in erts_alcu_alloc_thr_pref ()
  3  0x00000000100e51c4 in erl_drv_cond_create ()
  4  0x0000000013b002cc in VM::VM (this=0x107016f0) at c_src/erlv8.cc:28
  5  0x0000000013b00487 in new_vm (env=0xb0356df0, argc=0, argv=0x110f0500) at       c_src/erlv8.cc:124
  6  0x00000000100ff227 in process_main ()
  7  0x00000000100715a1 in sched_thread_func ()
  8  0x000000001018e431 in thr_wrapper ()
  9  0x000000001030e536 in _pthread_start ()
  10 0x000000001030e3e9 in thread_start ()

Object/proplist value conversion doesn't work properly when value is a string

Examples are shown from beam.js REPL for convenience:

          beam.js> a = "x"
          "x"
          beam.js> this
          [{"a","a"}]

while it works for other kind of values, such as numbers:

          beam.js> a = 1
          1
          beam.js> this
          [{"a",1}]

The same behaviour for non-global object as well:

          beam.js>  a = {x: "y"}
          [{"x","y"}]
          beam.js> a
          [{"x","x"}]

and

          beam.js> a = {x:1}
          [{"x",1}]
          beam.js> a
          [{"x",1}]

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.