Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Node.js to run with Microsoft's ChakraCore engine #4765

Closed
wants to merge 9 commits into from

Commits on Jan 12, 2016

  1. chakrashim: implement V8 APIs on Chakra

    ChakraShim implements essential V8 APIs needed by Node.js on top of the
    Chakra runtime hosting API (JSRT). This enables Node.js and other native
    addon modules written for V8 to build and run with the Chakra JavaScript
    engine.
    kunalspathak committed Jan 12, 2016
    Configuration menu
    Copy the full SHA
    77a5f8d View commit details
    Browse the repository at this point in the history
  2. deps: chakracore source code

    Source code of [chakracore](https://github.com/Microsoft/ChakraCore.git)
    that lights up Node.js for Chakra.
    Building Node.js with Chakra produces chakracore.dll along with other binaries
    that is needed by node.exe to function.
    kunalspathak committed Jan 12, 2016
    Configuration menu
    Copy the full SHA
    8a8c98c View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2016

  1. build: build with chakrashim/chakracore

    Enable building Node.js with chakracore engine for windows OS - x86, x64
    and ARM.
    
    * Configure to build Node.js with "v8" (default) or "chakracore" JS engine
       with optional vcbuild.bat switch.
    * chakrashim uses js2c with a namespace.
    * Configure msvs_use_library_dependency_inputs to export symbols
       correctly (otherwise functions not used by node.exe but might be
       needed by native addon modules could be optimized away by linker).
    * Add parameter `arm` to `vcbuild.bat` that will pass `--openssl-no-asm`
    * Introduced `msvs_windows_target_platform_version` to be used to set
       Windows SDK for ARM.
    kunalspathak committed Jan 28, 2016
    Configuration menu
    Copy the full SHA
    b6e81a2 View commit details
    Browse the repository at this point in the history
  2. node-gyp: Support to build with chakracore engine

    Add support to allow node.js build with chakracore enigne for Windows OS
    x86/x64 architecture.
    
    * Enables building native addon modules for Node.js with multiple
       node-engines.
    * Configure msvs_use_library_dependency_inputs to export symbols
       correctly (otherwise functions not used by node.exe but might be
       needed by native addon modules could be optimized away by linker).
    kunalspathak committed Jan 28, 2016
    Configuration menu
    Copy the full SHA
    81fb6d5 View commit details
    Browse the repository at this point in the history
  3. gyp: Support to build with chakracore engine

    Add support to allow node.js build with chakracore enigne for Windows OS
    x86/x64 architecture.
    
    * Configure msvs_use_library_dependency_inputs to export symbols
       correctly (otherwise functions not used by node.exe but might be
       needed by native addon modules could be optimized away by linker).
    kunalspathak committed Jan 28, 2016
    Configuration menu
    Copy the full SHA
    c1ae676 View commit details
    Browse the repository at this point in the history
  4. node-gyp: Support to build with chakracore for ARM

    * Support building node.js with chakracore on Windows on ARM
    * Building chakracore for ARM has a dependency on Windows SDK installed
    on the machine. Update python script to populate
    `WindowsSDKDesktopARMSupport` and `WindowsTargetPlatformVersion`
    for ARM builds by configuring msvs_windows_target_platform_version. This
    will be used in `chakracore.gyp` to pass as parameter to `msbuild.exe`.
    kunalspathak committed Jan 28, 2016
    Configuration menu
    Copy the full SHA
    6e97a0b View commit details
    Browse the repository at this point in the history
  5. gyp: Support to build with chakracore for ARM

    * Support building node.js with chakracore on Windows on ARM
    * Building chakracore for ARM has a dependency on Windows SDK installed
    on the machine. Update python script to populate
    `WindowsSDKDesktopARMSupport` and `WindowsTargetPlatformVersion`
    for ARM builds by configuring msvs_windows_target_platform_version. This
    will be used in `chakracore.gyp` to pass as parameter to `msbuild.exe`.
    kunalspathak committed Jan 28, 2016
    Configuration menu
    Copy the full SHA
    432d4a9 View commit details
    Browse the repository at this point in the history
  6. src,lib: Node source changes for Chakra engine

    * Add runtime property "process.jsEngine" to indicate current JS engine
       node runs on (JS engine is determined at build time).
    * Update REPL to work with Chakra engine.
    * Buffer/SlowBuffer currently does not support @@species constructor.
       Mark them as such to avoid failure as per ES6 TypedArray @@species spec.
    * Minor fix in `string_bytes.cc` because of way Chakra handles
       `String::NewExternal`.
    kunalspathak committed Jan 28, 2016
    Configuration menu
    Copy the full SHA
    abccd71 View commit details
    Browse the repository at this point in the history
  7. test: Fixed unittest for Chakra engine

    There were certain unittest that depends specifically on v8 internals and/or
    engine specific error message. This change adds if-else to expect different
    error message for Chakra engine or skip running test case if it test v8
    internals not present in Chakra or if it test features unimplemented by
    chakrashim.
    
    Modified test python script to take engine name depending on which it
    will match the baselines for v8 vs. chakracore engine.
    kunalspathak committed Jan 28, 2016
    Configuration menu
    Copy the full SHA
    19b2e48 View commit details
    Browse the repository at this point in the history