Mono的Google Native Client(NaCl)技术支持

2019-11-27 作者   |   浏览(52)
  • 为Web提供越多的图形,音频以至其余作用:能够一贯在web上试行了原生的2D,3D图形渲染程序(对网游很有用卡塔 尔(英语:State of Qatar),播放音录像,响应鼠标键盘事件,多线程推行代码等等,而那总体,没有必要浏览器安装任何插件。
  • 理想的可移植性:一个Web程序,只要求开辟生机勃勃份代码,即能够在有着平台(蕴涵Windows,linux,Mac等卡塔尔运维。
  • 高安全性:安装不被信任的桌面程序超级浏览器插件,也许带给相当的高的平安危机(如程序指点木马,病毒卡塔 尔(阿拉伯语:قطر‎。而Native client使用了双层沙盒(sandbox卡塔 尔(英语:State of Qatar)设计来保证客户的本地能源。Native Client的框架结构能够确认保证web要利用的安全性,而且获得和原声代码相通或近乎的属性。
  • 平价从桌面迁移:超多花销商家从前花了大气力开垦桌面程序,随着云总计的来到,更加多的次第会被移植到互联英特网,由于NaCl支持直接实践C/C++/Java等代码,Native Client本领能够简化移植进度,减弱移植开销。
  • 高性能:Native Client能够让web应用已挨近桌面程序的特性运维,那就为在浏览器内运转性能苛刻的前后相继提供了幼功,如大型3D游戏。

漫谈Google的Native Client技巧(风流洒脱卡塔 尔(英语:State of Qatar)–历史引力篇(Web本地计算发展史卡塔尔


漫谈Google的Native Client(NaCl)技术(二)–技术篇(兼谈LLVM)

  • Mono的Google Native Client(NaCl)技术支持。Restore nacl directory for this fork
  • Add back temporary __nacl_suspend_thread_if_needed to this fork
  • Set up for building on TeamCity.
  • Zip up build results for TeamCity
  • Remove dependency to gettext
  • Mono的Google Native Client(NaCl)技术支持。Simple random implementation for NaCl, so we don't get exceptions.
  • Add x86_64 build.
  • Mono的Google Native Client(NaCl)技术支持。cleanup.
  • Updated README instructions
  • Mono的Google Native Client(NaCl)技术支持。Don't use sgen for non-nacl mono build for parity
  • brushing off some nacl dust
  • Remove hardcoded path
  • NaCl working again post M14
  • Mono的Google Native Client(NaCl)技术支持。Fixes for nacl
  • Updated README
  • Merge remote branch 'upstream/master' into merge_head
  • Fixups for nacl at head revision
  • New master script to build all for NaCl
  • Add nacl cross-compile target
  • Fix up bugs in x86-codegen for NaCl, use 4.0 for regression tests
  • Merge branch 'merge_head'
  • Wrap pthread_exit () with mono_gc_pthread_exit () since NACL requires it.
  • No longer need BOEHM_DEFINES in io-layer, pthread_exit is wrapped
  • Fix NaCl GC deadlock
  • - Fix nacl aborting on windows because of failed write calls
  • Update for new nacl tool names, also preliminary glibc support.
  • First pass nacl glibc work
  • More glibc nacl work, builds shared library.
  • Fix amd64_alu_reg_imm for NaCl (previous fix was over ambitious)
  • Faster GC instrumentation for managed nacl code.
  • Compare pointers against 4 byte immediates
  • Build with -O2 in Native Client x86-64.
  • Merge pull request #1 from pasko/master
  • Fix compile and validation errors in optimized build
  • Fix conv.ovf.i.un test for 64 bit nacl
  • Also fix convert i->i and i->u with no ovf
  • enable gc instrumentation with inlined if
  • Add volatile qualifier to libgc stop the world.
  • Brad's patch to bootstrap NaCl glibc
  • Merge pull request #2 from zheka/master
  • Added __nacl_thread_suspension_needed to dynamic exports.
  • Force memory allocation to use mmap
  • Merge pull request #3 from zheka/master
  • get rid of the alias to __nacl_thread_suspension_needed
  • Always use near_call == TRUE in emit_call_body().
  • Merge pull request #4 from bradchen/master
  • Make size of immediate explicit in generating CMP instruction.
  • Run fsacheck tests with data from high-memory to
  • Add 'laddcc'/'lsubcc' IR opcode to deal explicitly with long arguments
  • Pass return valuetypes of non power of two size to their nearest power of two, previously defaulted to sizeof(gpointer) which is too small for 5, 6, and 7 byte types on ILP32 machines.
  • Fix patch targets to newly installed methods for NaCl
  • Make divide by zero checks explicit for Native Client
  • Pass TYPEDBYREF types the same as VALUETYPE for amd64 NaCl because that's more appropriate for the ABI
  • Fix BB max_offset for x86 NaCl
  • Fix spaces/tabs from last commit
  • Make explicit-null-checks default for mono in NaCl (not embedded case), option to disable since the environment is mostly unusable
  • Add nacl-specific regression tests
  • Support 'make check' for self-hosted NaCl Mono in mono/mini
  • Self-host NaCl Mono build
  • Re-enable dlopen support in NaCl Mono
  • Enable 'make check' for NaCl on root build directory:
  • Add stderr output on nacl_dyncode_create failure, makes it easier to debug bad code
  • Change README contents since those instructions don't work anymore
  • Add custom nacl_interp script for building/testing NaCl Mono
  • Make scripts work with slightly different paths from pepper_18.
  • Use /bin/bash explicitly so the script runs properly
  • Change install directory so it doesn't modify the toolchain dir
  • Disable AOT loadhook for native client
  • Initial NaCl/ARM work.
  • Fix gmodule-unix.c (needed config.h for HAVE_DLFCN_H)
  • Merge upstream mono
  • Fix NaCl build post-merge with upstream master

Mono从2.10方始补助NaCI才具(开源Mono框架将C#编制程序带到HTC、Android和Wii),Unity 3.5也通过Mono支持NaCI ,Getting Started with Native Client Development。经过近2年的付出,今天的Mono版本代码中签入了一个非常重要的NaCI更新, :

Native Client是谷歌(Google卡塔 尔(英语:State of Qatar)在浏览器领域临盆的三个开源本领,它同目的在于浏览器内编写翻译Web应用程序,并实行原生的编写翻译好的代码。Native Client有以下多少个优势(参谋谷歌官方立陶宛语介绍卡塔尔:

本文由金沙贵宾会官方网址发布于,转载请注明出处:Mono的Google Native Client(NaCl)技术支持