在Apple的JavaScriptCore(JSC)文档中,“JIT被禁用”是什么意思

时间:2017-07-31 18:01:12

标签: javascriptcore

我正在阅读关于NativeScript的这个文档,它说明了关于Apple的JavaScriptCore(JSC)虚拟机的以下内容:

  

它负责JavaScript代码处理。一个很好的比喻   可以用Node.js处理JavaScript和翻译的方式制作   它到底层系统API。我们正在处理每个getter / setter   在JavaScript对象上,并在需要时动态调用iOS API。该   虚拟机在应用程序的进程中加载​​并运行   主UI线程。 Apple不允许在AppStore Apps中使用JIT   我们的构建中禁用了JIT

我对粗体句的好奇心。这是什么意思?如果VM被禁用,JavaScript如何解释?

由于

1 个答案:

答案 0 :(得分:1)

禁用的是import React, { Component } from 'react'; import { Text, View, StyleSheet } from 'react-native'; import { Constants } from 'expo'; export default class App extends Component { render() { return ( <View style={styles.container}> <View style={styles.paragraphs}> <Text style={styles.textParagraph}>Lorem Ipsum is</Text> <Text style={styles.emptyTerm} /> <Text style={styles.textParagraph}>dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book</Text> </View> </View> ); } } const styles = StyleSheet.create({ container: { flex: 1, alignItems: 'center', justifyContent: 'center', padding: 25, paddingTop: Constants.statusBarHeight, backgroundColor: '#ecf0f1', }, emptyTerm: { borderBottomWidth: 1, marginLeft: 5, marginRight: 5, minWidth: "25%" }, paragraphs: { flexDirection: "row", flexWrap: "wrap" }, }); ,而不是整个JITVM只能在较慢的解释模式下执行js代码,因为ios会杀死任何敢于运行动态的第3个进程生成的代码 - 这是JIT的核心。