問題タブ [spidermonkey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
716 参照

couchdb - CouchDB - ビュー間、設計ドキュメント間、データベース間で関数を共有する

わかりました、これが問題です。

私は JS のバックグラウンドがあり、過去に JS のシェアがあり、プロジェクトからプロジェクトへとライブラリのように機能するクールなベアボーン ツールがたくさんあります。

CouchDB を使用して作業を策定しようとしています。さて、あなたが書いたクールなツールの贅沢に慣れて、言語を単純化した後、必要最小限の方法で多くのことを書くのは少しイライラします。

私は、純粋な言語に焦点を当て、言語での作業をよりグルーヴィーにする限定的で非常に効率的で汎用的なツールセットをデータベースコンテキストにロードできる方法を探しています (そして、いや、私は話していませんjquery またはそこにあるさらに大きなライブラリのいずれか)。

それに加えて、couchDB JS エンジンの実行コンテキストに独自のロジック ツール (BL モデル関数) を追加できる方法が見つかれば、すばらしい力を発揮し、couchDB を新しいものにすることができます。私のような JavaScript-er のホームです。

目標が低すぎるのかもしれません。特定のデータベースに対しても一連の拡張機能を割り当てることができる方法に満足し、すべてのデータベースに対して別々に行うことを気にしません。さらに悪いことに、すべての設計ドキュメントに追加して、たとえば同じ設計ドキュメント内のいくつかのビューに aPersonとは何か、 a とは何かを教えWorker、それらのメソッドを使用して、再利用可能なコード化された方法でロジックに従ってそれらからデータを取得できます。 .

誰か私に道を教えてもらえますか?

あなたが私をどのように指し示しても、私は非常に感謝しています. これらすべての方法があれば、素晴らしいことです。どのロジックがどのレイヤーに属しているかの違いを知っていると信じてください...

あなたは私の可能性を開きます - 私はそれらを使用することを約束します:D

0 投票する
3 に答える
678 参照

javascript - Spidermonkey バイトコードのドキュメント

私はかなり長い間、スパイダーモンキーのすべてのバイトコードのドキュメント、または少なくともバイトコードの目的が何であるかを一般的に教えてくれるものを探しています。

誰もそのようなリソースを推奨できますか?

ありがとう!

0 投票する
1 に答える
356 参照

javascript - mongodbのようなクエリ実行環境とマルチスレッド用のJavascriptエンジン(または他の埋め込み可能な言語)

mongodbでのクエリ実行に似たタスクには、埋め込み可能な言語が必要です。言語は高速で、JITとインタープリターの両方を備えている必要があり(JITコンパイルされた頻繁なスクリプトの場合、および1回限りのスクリプトの場合も)、特定のAPI関数(またはクラスなど)を入力するメモリ内ランタイムを備えている必要があります。手作業で(そしてgettime、スレッドスポーンなどのような「組み込み」のものは何もありません)、C APIがあり、ARMで動作する必要があります(MIPSもいいでしょう)、大きすぎないフットプリントもいいでしょう(しかしこれは重要ではありません)。

私には2つの候補があります:

  1. GoogleV8。
  2. Spidermonkey(IonMonkeyのARMサポートがAFAIKを発表しました)。

私はこれまでCプロジェクトへの言語の埋め込みを経験したことがないので、いくつか質問があります。最近、V8はスレッドセーフではないという噂がありましたが、この問題はまだ存在しますか?もしそうなら、スレッドセーフの欠如が問題を引き起こす可能性があるのはどこですか?

また、誰かが私の要件により適した埋め込み可能な言語を提案してくれたら嬉しいです(luaを除いて、私が気にしないことについてのフットプリントが小さいことを除いて、jsと比較して利点を見つけることができません)。

0 投票する
0 に答える
607 参照

javascript - Spidermonkey での JavaScript スレッドの実装

アプリ内に Web ワーカーのようなマルチスレッドを実装する必要があり、Spidermonkey を使用して JavaScript を実行する予定です。そのAPIのようなものが欲しい:

ここで、someglobalobject.spawnWorker は、スレッドを生成し (worker が遅延している場合は生成しない)、新しい JSContext を作成し、関数BackgroundWorkerをそのコンテキストに転送して実行する C バインディングです。ワーカーとの間のメッセージの受け渡し (ワーカーはいくつかのイベント フックを登録したり、C バインド呼び出しによってメッセージを受信したりできます) によってリソース共有を実装することを計画しています。せいぜい、JS 用にある種の Erlang スタイルのアクターを実装したいだけです。それで、私はそれについていくつか質問があります:

  1. これを実装する方法の例はありますか (ただし、Web ワーカーのように複雑ではありません)。
  2. JSContext のフットプリントは何ですか? それらをたくさん作成することは可能ですか、それともパフォーマンスのボトルネックを引き起こす可能性がありますか?
  3. その JavaScript から呼び出された C バインディング内で JavaScript の実行を一時停止する機能はありますか?
0 投票する
3 に答える
1654 参照

couchdb - autoconfが原因でSpidermonkeyをインストールできない

このガイドに従ってSpidermonkeyをインストールしようとしています。 https://developer.mozilla.org/en/Building_only_SpiderMonkey#Easy_build 次の手順に従うことになっています。

私はautoconfを持っていないので、以下に示すように、別のmozillaチュートリアルに従ってautoconfを取得しようとしています。

2011年12月の時点で、Homebrewにはautoconf 2.13のレシピがありませんが、ここで入手できます。ファイルを/usr/ local / Library / Formulaにインストールしてから、次の手順を実行します。

$ brew install autoconf213

autoconfをインストールします。しかしautoconf-2.13、ターミナルを実行すると、出力するだけです-bash: autoconf-2.13: command not found

環境:OSX 10.7.2

何時間もこの問題に頭を悩ませてきましたが、それを回避できないようです。残念ながら、couchdbをコンピューターで実行する可能性が失われています。解決策のアイデアはありますか?

0 投票する
1 に答える
1211 参照

javascript - JavaScript の apply 関数

私は JavaScript を学んでおり、現在 ( Spidermonkeyで)その理由を理解しようとしています。

期待される を返しますが[1, 2]

[2]の代わりに を返します[1, 2]

誰かが良い説明を提供できますか?

0 投票する
2 に答える
2016 参照

javascript - Android (非 WebKit) の Javascript エンジン オプション

HTML5 + Javascript アプリケーションを作成し、Android に移植したいと考えています。WebKit が HTML5 アプリを実行できないことは既にわかっています。

  • 異種の Android コードベースは、最新の HTML5 の偉業をうまくサポートしていません

  • WebGLを使用しています

  • 複雑な HTML5 ユーザー インターフェイスは遅すぎて Android WebKit でレンダリングできません

ただし、コア アプリケーション ロジックは依然として Javascript に存在します。

今、方法を探しています

  • アプリケーション ロジックを直接移植 (コピー) した Javascript を実行する

  • 自身を Android Java UI API に簡単にバインド

  • この Javascript ロジックを中心にネイティブ Android UI を構築する

  • Android OpenGL ES 用の WebGL 互換バインディングを作成し、Javascript からグラフィックス API にアクセスします

  • うまくいけば、JITまたはまともなパフォーマンス

Android のカスタム JS ランタイムにはどのようなオプションがありますか? Firefox Aurora が既にこれを行っていることは知っています。Firefox は主に JS ベースのアプリであり、Aurora ビルドで XUL からネイティブ Android UI に切り替えました。

結果として得られるアプリケーションは製品品質であり、Android マーケットで配布される必要があります。

0 投票する
2 に答える
7663 参照

javascript - Rhino と Spidermonkey JavaScript エンジンの違いは何ですか?

初めて Javascript の学習を始めましたが、最初は Rhino と Spidermonkey の 2 つの選択肢に行き詰まりました。自分のニーズに合った最適なオプションを自分で簡単に選択できるように、1 つと別のものを教えてください。簡単にする場合は、両方の Javascript バージョンの長所と短所をリストできます。

0 投票する
1 に答える
473 参照

mozilla - Spidermonkey のスレッド化

jsinterp.cpp ファイルを編集して、SpiderMonkey でスレッド化されたデバッグ ダンプを有効にしようとしています。基本的に、私がやろうとしていることは次のとおりです。

  1. Interpret() のメイン ループが始まる前に JSScript をキャッチします。
  2. 別のスレッドを開きます。
  3. そのスレッドで、スクリプトを使用して js_Disassembly を呼び出し、マシン コードを取得します。
  4. マシン コードをファイルに書き込みます。

スレッド化されたバージョンを試す理由は、単純にパフォーマンスの問題です。disassmeble を実行して出力を同じスレッドに書き込むと、一部のアドオンが「応答しなくなります」。単一のスレッドである程度の出力を取得できますが、遅すぎます。

スレッドの作成については、 https://developer.mozilla.org/en/Making_Cross-Thread_Calls_Using_Runnablesのチュートリアルに従いました。しかし、ビルドすると、11 の「未解決の外部シンボル エラー」に直面しました。再びグーグルで調べたところ、#define XPCOM_GLUE 1 で XPCOM_GLUE を設定することがわかりました。ただし、今回は「基本クラス nsRunnable が定義されていません」という新しい問題に直面しています。これに対する解決策が見つかりません。

どんな助けでも大歓迎です。ありがとう、

0 投票する
2 に答える
2819 参照

javascript - Rhino VS Spidermonkey のパフォーマンス テスト

会社で取り組んでいるプロジェクトがあり、現在、どの JS エンジンを使用するかを決定する必要があります。現在、Spidermonkey または Rhino を選択できます。

私の主な関心事はパフォーマンスとスケーラビリティです。2 つのエンジンを比較するためのパフォーマンス テストが行​​われたかどうか知りたいですか?

この問題をグーグルで検索するのは、予想よりも難しいことがわかりました。

助けてくれてありがとう、ベン。