libv8 6.3.292.48.1 → 6.7.288.46.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +10 -34
- data/CHANGELOG.md +16 -0
- data/README.md +9 -63
- data/Rakefile +2 -2
- data/ext/libv8/builder.rb +22 -87
- data/ext/libv8/extconf.rb +1 -1
- data/ext/libv8/paths.rb +5 -18
- data/lib/libv8/version.rb +1 -1
- data/spec/location_spec.rb +1 -2
- data/spec/spec_helper.rb +0 -1
- data/vendor/depot_tools/.gitattributes +1 -2
- data/vendor/depot_tools/OWNERS +0 -1
- data/vendor/depot_tools/PRESUBMIT.py +11 -6
- data/vendor/depot_tools/README.md +0 -1
- data/vendor/depot_tools/WATCHLISTS +0 -6
- data/vendor/depot_tools/auth.py +129 -87
- data/vendor/depot_tools/autoninja +11 -1
- data/vendor/depot_tools/autoninja.bat +7 -1
- data/vendor/depot_tools/autoninja.py +14 -6
- data/vendor/depot_tools/bootstrap/win/manifest.txt +1 -1
- data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +1 -1
- data/vendor/depot_tools/cipd +23 -2
- data/vendor/depot_tools/cipd.bat +2 -2
- data/vendor/depot_tools/cipd_client_version +1 -1
- data/vendor/depot_tools/cipd_manifest.txt +17 -7
- data/vendor/depot_tools/cit.py +7 -6
- data/vendor/depot_tools/cpplint.py +195 -35
- data/vendor/depot_tools/detect_host_arch.py +51 -0
- data/vendor/depot_tools/download_from_google_storage.py +85 -26
- data/vendor/depot_tools/fetch.py +11 -6
- data/vendor/depot_tools/fetch_configs/chromium.py +0 -1
- data/vendor/depot_tools/fetch_configs/goma_client.py +41 -0
- data/vendor/depot_tools/fetch_configs/infra.py +0 -1
- data/vendor/depot_tools/fetch_configs/infra_internal.py +0 -1
- data/vendor/depot_tools/gclient-new-workdir.py +4 -0
- data/vendor/depot_tools/gclient.py +732 -476
- data/vendor/depot_tools/gclient_eval.py +569 -58
- data/vendor/depot_tools/gclient_scm.py +258 -46
- data/vendor/depot_tools/gclient_utils.py +17 -1
- data/vendor/depot_tools/gerrit_util.py +46 -13
- data/vendor/depot_tools/git_cache.py +0 -2
- data/vendor/depot_tools/git_cl.py +176 -335
- data/vendor/depot_tools/git_common.py +19 -16
- data/vendor/depot_tools/git_footers.py +19 -5
- data/vendor/depot_tools/git_hyper_blame.py +9 -3
- data/vendor/depot_tools/git_new_branch.py +15 -3
- data/vendor/depot_tools/git_upstream_diff.py +7 -2
- data/vendor/depot_tools/gsutil.py +1 -1
- data/vendor/depot_tools/infra/config/cq.cfg +1 -2
- data/vendor/depot_tools/infra/config/recipes.cfg +1 -1
- data/vendor/depot_tools/luci-auth +13 -0
- data/vendor/depot_tools/luci-auth.bat +8 -0
- data/vendor/depot_tools/man/html/depot_tools.html +0 -8
- data/vendor/depot_tools/man/html/git-upstream-diff.html +20 -3
- data/vendor/depot_tools/man/man1/git-upstream-diff.1 +27 -6
- data/vendor/depot_tools/man/man7/depot_tools.7 +0 -5
- data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +2 -2
- data/vendor/depot_tools/man/src/git-upstream-diff.txt +21 -3
- data/vendor/depot_tools/man/src/make_docs.sh +6 -0
- data/vendor/depot_tools/my_activity.py +283 -93
- data/vendor/depot_tools/owners.py +9 -4
- data/vendor/depot_tools/owners_finder.py +7 -3
- data/vendor/depot_tools/post_build_ninja_summary.py +322 -0
- data/vendor/depot_tools/presubmit_canned_checks.py +91 -106
- data/vendor/depot_tools/presubmit_support.py +219 -157
- data/vendor/depot_tools/prpc +13 -0
- data/vendor/depot_tools/prpc.bat +8 -0
- data/vendor/depot_tools/recipes/OWNERS +3 -1
- data/vendor/depot_tools/recipes/README.recipes.md +70 -111
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +12 -5
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +36 -68
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +0 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{trychange_oauth2_json.json → no_apply_patch_on_gclient.json} +64 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{no_shallow.json → shallow.json} +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob.json +0 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_empty_revision.json +0 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +0 -6
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +0 -7
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +0 -6
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle_deprecated.json +44 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{trychange_oauth2_buildbot.json → tryjob_gerrit_branch_heads.json} +51 -5
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +0 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +48 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +19 -26
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +193 -155
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +9 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +2 -7
- data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +31 -5
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +37 -19
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +37 -19
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +37 -19
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +37 -23
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +4 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +40 -8
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +3 -3
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.py +6 -3
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/OWNERS +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/__init__.py +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +7 -56
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +15 -16
- data/vendor/depot_tools/recipes/recipes.py +4 -2
- data/vendor/depot_tools/recipes/trigger_recipe_roller.txt +12 -0
- data/vendor/depot_tools/roll_dep.py +35 -37
- data/vendor/depot_tools/support/chromite_wrapper +1 -1
- data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +3 -3
- data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +2 -2
- data/vendor/depot_tools/third_party/logilab/astroid/astpeephole.py +86 -0
- data/vendor/depot_tools/third_party/logilab/astroid/bases.py +53 -66
- data/vendor/depot_tools/third_party/logilab/astroid/brain/py2pytest.py +31 -31
- data/vendor/depot_tools/third_party/logilab/astroid/brain/pynose.py +39 -16
- data/vendor/depot_tools/third_party/logilab/astroid/brain/pysix_moves.py +225 -189
- data/vendor/depot_tools/third_party/logilab/astroid/inference.py +45 -41
- data/vendor/depot_tools/third_party/logilab/astroid/manager.py +1 -0
- data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +2 -2
- data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +3 -2
- data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +1 -0
- data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +57 -3
- data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +1 -1
- data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +21 -1
- data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +58 -33
- data/vendor/depot_tools/third_party/pylint/README.chromium +2 -2
- data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +3 -3
- data/vendor/depot_tools/third_party/pylint/checkers/base.py +6 -18
- data/vendor/depot_tools/third_party/pylint/checkers/classes.py +64 -63
- data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +25 -57
- data/vendor/depot_tools/third_party/pylint/checkers/format.py +14 -10
- data/vendor/depot_tools/third_party/pylint/checkers/python3.py +142 -37
- data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +10 -1
- data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +50 -7
- data/vendor/depot_tools/third_party/pylint/checkers/strings.py +1 -1
- data/vendor/depot_tools/third_party/pylint/epylint.py +2 -1
- data/vendor/depot_tools/third_party/pylint/gui.py +1 -1
- data/vendor/depot_tools/third_party/pylint/lint.py +88 -23
- data/vendor/depot_tools/third_party/pylint/reporters/html.py +37 -5
- data/vendor/depot_tools/third_party/pylint/testutils.py +1 -1
- data/vendor/depot_tools/third_party/pylint/utils.py +5 -0
- data/vendor/depot_tools/vpython +31 -1
- data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +35 -2
- data/vendor/depot_tools/win_toolchain/package_from_installed.py +0 -15
- data/vendor/depot_tools/yapf +17 -0
- data/vendor/depot_tools/{apply_issue.bat → yapf.bat} +2 -2
- metadata +16 -58
- data/ext/libv8/compiler.rb +0 -39
- data/ext/libv8/compiler/apple_llvm.rb +0 -22
- data/ext/libv8/compiler/clang.rb +0 -22
- data/ext/libv8/compiler/gcc.rb +0 -22
- data/ext/libv8/compiler/generic_compiler.rb +0 -66
- data/ext/libv8/make.rb +0 -13
- data/ext/libv8/patcher.rb +0 -21
- data/patches/0001-Build-a-standalone-static-library.patch +0 -26
- data/patches/0002-Don-t-compile-unnecessary-stuff.patch +0 -85
- data/patches/0003-Use-the-fPIC-flag-for-the-static-library.patch +0 -25
- data/patches/0004-Do-not-embed-debug-symbols-in-macOS-libraries.patch +0 -25
- data/patches/0005-Remove-TryInstallOptimizedCode.patch +0 -321
- data/patches/mingw-generate-makefiles.sh +0 -97
- data/spec/compiler/apple_llvm_spec.rb +0 -37
- data/spec/compiler/clang_spec.rb +0 -37
- data/spec/compiler/gcc_spec.rb +0 -37
- data/spec/compiler/generic_compiler_spec.rb +0 -50
- data/spec/compiler_spec.rb +0 -45
- data/spec/support/compiler_helpers.rb +0 -47
- data/vendor/depot_tools/apply_issue +0 -8
- data/vendor/depot_tools/apply_issue.py +0 -315
- data/vendor/depot_tools/man/html/git-cherry-pick-upload.html +0 -815
- data/vendor/depot_tools/man/man1/git-cherry-pick-upload.1 +0 -80
- data/vendor/depot_tools/man/src/_git-cherry-pick-upload_desc.helper.txt +0 -1
- data/vendor/depot_tools/man/src/git-cherry-pick-upload.demo.1.sh +0 -17
- data/vendor/depot_tools/man/src/git-cherry-pick-upload.txt +0 -35
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2.json +0 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_json_win.json +0 -196
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/__init__.py +0 -6
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/api.py +0 -97
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.expected/basic.json +0 -8
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.expected/buildbot.json +0 -30
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.expected/no_auth.json +0 -27
- data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.py +0 -38
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_rietveld_patch.json +0 -69
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_rietveld_patch_new.json +0 -69
- data/vendor/depot_tools/third_party/cq_client/OWNERS +0 -2
- data/vendor/depot_tools/third_party/cq_client/README.depot_tools.md +0 -2
- data/vendor/depot_tools/third_party/cq_client/README.md +0 -59
- data/vendor/depot_tools/third_party/cq_client/__init__.py +0 -3
- data/vendor/depot_tools/third_party/cq_client/v1/__init__.py +0 -3
- data/vendor/depot_tools/third_party/cq_client/v1/cq.pb.go +0 -810
- data/vendor/depot_tools/third_party/cq_client/v1/cq.proto +0 -281
- data/vendor/depot_tools/third_party/cq_client/v1/cq_pb2.py +0 -794
- data/vendor/depot_tools/third_party/cq_client/v1/testdata/cq_both.cfg +0 -71
- data/vendor/depot_tools/third_party/cq_client/v1/testdata/cq_gerrit.cfg +0 -58
- data/vendor/depot_tools/third_party/cq_client/v1/testdata/cq_rietveld.cfg +0 -60
- data/vendor/depot_tools/third_party/cq_client/v2/__init__.py +0 -3
- data/vendor/depot_tools/third_party/cq_client/v2/cq.pb.go +0 -792
- data/vendor/depot_tools/third_party/cq_client/v2/cq.proto +0 -270
- data/vendor/depot_tools/third_party/cq_client/v2/cq_pb2.py +0 -841
data/ext/libv8/compiler.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'rbconfig'
|
2
|
-
require File.expand_path '../compiler/generic_compiler', __FILE__
|
3
|
-
require File.expand_path '../compiler/gcc', __FILE__
|
4
|
-
require File.expand_path '../compiler/clang', __FILE__
|
5
|
-
require File.expand_path '../compiler/apple_llvm', __FILE__
|
6
|
-
|
7
|
-
module Libv8
|
8
|
-
module Compiler
|
9
|
-
module_function
|
10
|
-
|
11
|
-
def type_of(compiler)
|
12
|
-
case version_string_of(compiler)
|
13
|
-
when /^Apple LLVM\b/ then AppleLLVM
|
14
|
-
when /\bclang\b/i then Clang
|
15
|
-
when /^gcc/i then GCC
|
16
|
-
else GenericCompiler
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def version_string_of(compiler)
|
21
|
-
command_result = execute_command "env LC_ALL=C LANG=C #{compiler} -v 2>&1"
|
22
|
-
|
23
|
-
unless command_result.status.success?
|
24
|
-
raise "Could not get version string of compiler #{compiler}"
|
25
|
-
end
|
26
|
-
|
27
|
-
command_result.output
|
28
|
-
end
|
29
|
-
|
30
|
-
def execute_command(command)
|
31
|
-
output = `#{command}`
|
32
|
-
status = $?
|
33
|
-
ExecutionResult.new output, status
|
34
|
-
end
|
35
|
-
|
36
|
-
class ExecutionResult < Struct.new(:output, :status)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
module Libv8
|
2
|
-
module Compiler
|
3
|
-
class AppleLLVM < Clang
|
4
|
-
LLVM_VERSION_REGEXP = /Apple LLVM version (\d+\.\d+(\.\d+)*) \(/i
|
5
|
-
REQUIRED_VERSION = '4.3'
|
6
|
-
|
7
|
-
def name
|
8
|
-
'Apple LLVM'
|
9
|
-
end
|
10
|
-
|
11
|
-
private
|
12
|
-
|
13
|
-
def required_version
|
14
|
-
REQUIRED_VERSION
|
15
|
-
end
|
16
|
-
|
17
|
-
def version_regexp
|
18
|
-
LLVM_VERSION_REGEXP
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/ext/libv8/compiler/clang.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
module Libv8
|
2
|
-
module Compiler
|
3
|
-
class Clang < GenericCompiler
|
4
|
-
CLANG_VERSION_REGEXP = /clang version (\d+\.\d+(\.\d+)*) \(/i
|
5
|
-
REQUIRED_VERSION = '3.1'
|
6
|
-
|
7
|
-
def name
|
8
|
-
'clang'
|
9
|
-
end
|
10
|
-
|
11
|
-
private
|
12
|
-
|
13
|
-
def required_version
|
14
|
-
REQUIRED_VERSION
|
15
|
-
end
|
16
|
-
|
17
|
-
def version_regexp
|
18
|
-
CLANG_VERSION_REGEXP
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/ext/libv8/compiler/gcc.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
module Libv8
|
2
|
-
module Compiler
|
3
|
-
class GCC < GenericCompiler
|
4
|
-
GCC_VERSION_REGEXP = /gcc version (\d+\.\d+(\.\d+)*)/i
|
5
|
-
REQUIRED_VERSION = '4.7'
|
6
|
-
|
7
|
-
def name
|
8
|
-
'GCC'
|
9
|
-
end
|
10
|
-
|
11
|
-
private
|
12
|
-
|
13
|
-
def required_version
|
14
|
-
REQUIRED_VERSION
|
15
|
-
end
|
16
|
-
|
17
|
-
def version_regexp
|
18
|
-
GCC_VERSION_REGEXP
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,66 +0,0 @@
|
|
1
|
-
module Libv8
|
2
|
-
module Compiler
|
3
|
-
class GenericCompiler
|
4
|
-
GENERIC_VERSION_REGEXP = /(\d+\.\d+(\.\d+)*)/
|
5
|
-
GENERIC_TARGET_REGEXP = /Target: ([a-z0-9\-_.]*)/
|
6
|
-
|
7
|
-
def initialize(command)
|
8
|
-
@command = command
|
9
|
-
end
|
10
|
-
|
11
|
-
def name
|
12
|
-
File.basename @command
|
13
|
-
end
|
14
|
-
|
15
|
-
def to_s
|
16
|
-
@command
|
17
|
-
end
|
18
|
-
|
19
|
-
def version
|
20
|
-
version_string =~ version_regexp
|
21
|
-
$1
|
22
|
-
end
|
23
|
-
|
24
|
-
def target
|
25
|
-
version_string =~ target_regexp
|
26
|
-
$1
|
27
|
-
end
|
28
|
-
|
29
|
-
def compatible?
|
30
|
-
return false unless required_version && !version.nil?
|
31
|
-
|
32
|
-
(string_to_semver(version) <=> string_to_semver(required_version)) > -1
|
33
|
-
end
|
34
|
-
|
35
|
-
def call(*arguments)
|
36
|
-
Compiler::execute_command arguments.unshift(@command).join(' ')
|
37
|
-
end
|
38
|
-
|
39
|
-
private
|
40
|
-
|
41
|
-
def version_string
|
42
|
-
begin
|
43
|
-
Compiler::version_string_of @command
|
44
|
-
rescue StandardError
|
45
|
-
nil
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def version_regexp
|
50
|
-
GENERIC_VERSION_REGEXP
|
51
|
-
end
|
52
|
-
|
53
|
-
def target_regexp
|
54
|
-
GENERIC_TARGET_REGEXP
|
55
|
-
end
|
56
|
-
|
57
|
-
def required_version
|
58
|
-
nil
|
59
|
-
end
|
60
|
-
|
61
|
-
def string_to_semver(version)
|
62
|
-
version.split('.').map(&:to_i)
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
data/ext/libv8/make.rb
DELETED
data/ext/libv8/patcher.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
module Libv8
|
2
|
-
module Patcher
|
3
|
-
PATCH_DIRECTORY = File.expand_path '../../../patches', __FILE__
|
4
|
-
|
5
|
-
module_function
|
6
|
-
|
7
|
-
def patch!
|
8
|
-
File.open(".applied_patches", File::RDWR|File::CREAT) do |f|
|
9
|
-
available_patches = Dir.glob(File.join(PATCH_DIRECTORY, '*.patch')).sort
|
10
|
-
applied_patches = f.readlines.map(&:chomp)
|
11
|
-
|
12
|
-
(available_patches - applied_patches).each do |patch|
|
13
|
-
puts "Applying #{patch}"
|
14
|
-
`patch -p1 -N < #{patch}`
|
15
|
-
fail "failed to apply patch #{patch}" unless $?.success?
|
16
|
-
f.puts patch
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
From a018c0c78b9d40c9d9787fe969530e40fca5d38a Mon Sep 17 00:00:00 2001
|
2
|
-
From: Petko Bordjukov <bordjukov@gmail.com>
|
3
|
-
Date: Mon, 25 Jul 2016 00:00:19 +0300
|
4
|
-
Subject: [PATCH 1/5] Build a standalone static library
|
5
|
-
|
6
|
-
---
|
7
|
-
gypfiles/standalone.gypi | 3 +++
|
8
|
-
1 file changed, 3 insertions(+)
|
9
|
-
|
10
|
-
diff --git a/gypfiles/standalone.gypi b/gypfiles/standalone.gypi
|
11
|
-
index 63930d8aef..d0d00d3f67 100644
|
12
|
-
--- a/gypfiles/standalone.gypi
|
13
|
-
+++ b/gypfiles/standalone.gypi
|
14
|
-
@@ -517,6 +517,9 @@
|
15
|
-
}], # fastbuild!=0
|
16
|
-
],
|
17
|
-
'target_conditions': [
|
18
|
-
+ ['_type=="static_library"', {
|
19
|
-
+ 'standalone_static_library': 1,
|
20
|
-
+ }],
|
21
|
-
['v8_code == 0', {
|
22
|
-
'defines!': [
|
23
|
-
'DEBUG',
|
24
|
-
--
|
25
|
-
2.15.1
|
26
|
-
|
@@ -1,85 +0,0 @@
|
|
1
|
-
From 9ec36a77bb241ee4532553809b1ec7281ea998b1 Mon Sep 17 00:00:00 2001
|
2
|
-
From: Petko Bordjukov <bordjukov@gmail.com>
|
3
|
-
Date: Fri, 28 Jul 2017 11:11:08 +0300
|
4
|
-
Subject: [PATCH 2/5] Don't compile unnecessary stuff
|
5
|
-
|
6
|
-
---
|
7
|
-
Makefile | 9 ++-------
|
8
|
-
gypfiles/all.gyp | 33 ---------------------------------
|
9
|
-
2 files changed, 2 insertions(+), 40 deletions(-)
|
10
|
-
|
11
|
-
diff --git a/Makefile b/Makefile
|
12
|
-
index 167ebf8c08..d9d0b9b306 100644
|
13
|
-
--- a/Makefile
|
14
|
-
+++ b/Makefile
|
15
|
-
@@ -268,14 +268,9 @@ ANDROID_ARCHES = android_ia32 android_x64 android_arm android_arm64 \
|
16
|
-
android_mipsel
|
17
|
-
|
18
|
-
# List of files that trigger Makefile regeneration:
|
19
|
-
-GYPFILES = third_party/icu/icu.gypi third_party/icu/icu.gyp \
|
20
|
-
- gypfiles/shim_headers.gypi gypfiles/features.gypi \
|
21
|
-
- gypfiles/standalone.gypi \
|
22
|
-
+GYPFILES = gypfiles/features.gypi gypfiles/standalone.gypi \
|
23
|
-
gypfiles/toolchain.gypi gypfiles/all.gyp gypfiles/mac/asan.gyp \
|
24
|
-
- test/cctest/cctest.gyp test/fuzzer/fuzzer.gyp \
|
25
|
-
- test/unittests/unittests.gyp src/v8.gyp \
|
26
|
-
- tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \
|
27
|
-
- samples/samples.gyp src/third_party/vtune/v8vtune.gyp src/d8.gyp
|
28
|
-
+ src/v8.gyp src/d8.gyp
|
29
|
-
|
30
|
-
# If vtunejit=on, the v8vtune.gyp will be appended.
|
31
|
-
ifeq ($(vtunejit), on)
|
32
|
-
diff --git a/gypfiles/all.gyp b/gypfiles/all.gyp
|
33
|
-
index bc9d9650eb..96820a0ecc 100644
|
34
|
-
--- a/gypfiles/all.gyp
|
35
|
-
+++ b/gypfiles/all.gyp
|
36
|
-
@@ -9,8 +9,6 @@
|
37
|
-
'type': 'none',
|
38
|
-
'dependencies': [
|
39
|
-
'../src/d8.gyp:d8',
|
40
|
-
- '../test/inspector/inspector.gyp:*',
|
41
|
-
- '../test/mkgrokdump/mkgrokdump.gyp:*',
|
42
|
-
],
|
43
|
-
'conditions': [
|
44
|
-
['component!="shared_library"', {
|
45
|
-
@@ -18,37 +16,6 @@
|
46
|
-
'../tools/parser-shell.gyp:parser-shell',
|
47
|
-
],
|
48
|
-
}],
|
49
|
-
- # These items don't compile for Android on Mac.
|
50
|
-
- ['host_os!="mac" or OS!="android"', {
|
51
|
-
- 'dependencies': [
|
52
|
-
- '../samples/samples.gyp:*',
|
53
|
-
- '../test/cctest/cctest.gyp:*',
|
54
|
-
- '../test/fuzzer/fuzzer.gyp:*',
|
55
|
-
- '../test/unittests/unittests.gyp:*',
|
56
|
-
- ],
|
57
|
-
- }],
|
58
|
-
- ['test_isolation_mode != "noop"', {
|
59
|
-
- 'dependencies': [
|
60
|
-
- '../test/bot_default.gyp:*',
|
61
|
-
- '../test/benchmarks/benchmarks.gyp:*',
|
62
|
-
- '../test/debugger/debugger.gyp:*',
|
63
|
-
- '../test/default.gyp:*',
|
64
|
-
- '../test/intl/intl.gyp:*',
|
65
|
-
- '../test/message/message.gyp:*',
|
66
|
-
- '../test/mjsunit/mjsunit.gyp:*',
|
67
|
-
- '../test/mozilla/mozilla.gyp:*',
|
68
|
-
- '../test/optimize_for_size.gyp:*',
|
69
|
-
- '../test/perf.gyp:*',
|
70
|
-
- '../test/preparser/preparser.gyp:*',
|
71
|
-
- '../test/test262/test262.gyp:*',
|
72
|
-
- '../test/webkit/webkit.gyp:*',
|
73
|
-
- '../tools/check-static-initializers.gyp:*',
|
74
|
-
- '../tools/gcmole/run_gcmole.gyp:*',
|
75
|
-
- '../tools/jsfunfuzz/jsfunfuzz.gyp:*',
|
76
|
-
- '../tools/run-deopt-fuzzer.gyp:*',
|
77
|
-
- '../tools/run-valgrind.gyp:*',
|
78
|
-
- ],
|
79
|
-
- }],
|
80
|
-
]
|
81
|
-
}
|
82
|
-
]
|
83
|
-
--
|
84
|
-
2.15.1
|
85
|
-
|
@@ -1,25 +0,0 @@
|
|
1
|
-
From 68eadedb9728ee6ce634d646835ef0aab2d23be6 Mon Sep 17 00:00:00 2001
|
2
|
-
From: Petko Bordjukov <bordjukov@gmail.com>
|
3
|
-
Date: Mon, 25 Jul 2016 00:05:47 +0300
|
4
|
-
Subject: [PATCH 3/5] Use the -fPIC flag for the static library
|
5
|
-
|
6
|
-
---
|
7
|
-
gypfiles/standalone.gypi | 2 +-
|
8
|
-
1 file changed, 1 insertion(+), 1 deletion(-)
|
9
|
-
|
10
|
-
diff --git a/gypfiles/standalone.gypi b/gypfiles/standalone.gypi
|
11
|
-
index d0d00d3f67..f01bd48596 100644
|
12
|
-
--- a/gypfiles/standalone.gypi
|
13
|
-
+++ b/gypfiles/standalone.gypi
|
14
|
-
@@ -797,7 +797,7 @@
|
15
|
-
[ 'visibility=="hidden" and v8_enable_backtrace==0', {
|
16
|
-
'cflags': [ '-fvisibility=hidden' ],
|
17
|
-
}],
|
18
|
-
- [ 'component=="shared_library"', {
|
19
|
-
+ [ 'component=="shared_library" or component=="static_library" and (v8_target_arch=="x64" or v8_target_arch=="arm64" or v8_target_arch=="arm")', {
|
20
|
-
'cflags': [ '-fPIC', ],
|
21
|
-
}],
|
22
|
-
[ 'clang==0 and coverage==1', {
|
23
|
-
--
|
24
|
-
2.15.1
|
25
|
-
|
@@ -1,25 +0,0 @@
|
|
1
|
-
From 943282d83340d51a7749f59708e5dca5bbe96099 Mon Sep 17 00:00:00 2001
|
2
|
-
From: Jb Aviat <jb@sqreen.io>
|
3
|
-
Date: Mon, 27 Feb 2017 11:14:42 +0200
|
4
|
-
Subject: [PATCH 4/5] Do not embed debug symbols in macOS libraries
|
5
|
-
|
6
|
-
This lowers dramatically the produced binary size
|
7
|
-
---
|
8
|
-
gypfiles/standalone.gypi | 1 +
|
9
|
-
1 file changed, 1 insertion(+)
|
10
|
-
|
11
|
-
diff --git a/gypfiles/standalone.gypi b/gypfiles/standalone.gypi
|
12
|
-
index f01bd48596..25ca6b8606 100644
|
13
|
-
--- a/gypfiles/standalone.gypi
|
14
|
-
+++ b/gypfiles/standalone.gypi
|
15
|
-
@@ -1056,6 +1056,7 @@
|
16
|
-
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
|
17
|
-
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
|
18
|
-
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
|
19
|
-
+ 'GCC_GENERATE_DEBUGGING_SYMBOLS': 'NO', # No -gdwarf-2
|
20
|
-
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
|
21
|
-
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
|
22
|
-
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
|
23
|
-
--
|
24
|
-
2.15.1
|
25
|
-
|
@@ -1,321 +0,0 @@
|
|
1
|
-
From 723ed88782dbe9462aba5711a70be628d694bfda Mon Sep 17 00:00:00 2001
|
2
|
-
From: Leszek Swirski <leszeks@chromium.org>
|
3
|
-
Date: Tue, 17 Oct 2017 17:20:15 +0100
|
4
|
-
Subject: [PATCH 5/5] Remove TryInstallOptimizedCode
|
5
|
-
|
6
|
-
Removes the interrupt check and runtime call to TryInstallOptimizedCode
|
7
|
-
from the optimization marker checks (i.e. CompileLazy and
|
8
|
-
InterpreterEntryTrampoline). Instead, we rely on the other interrupt
|
9
|
-
sources (in particular stack checks at function entries and loop
|
10
|
-
headers) to install optimized code for us.
|
11
|
-
|
12
|
-
This will hopefully not cause regressions, as we have plenty of other
|
13
|
-
interrupt checks, but it may delay optimized code execution for
|
14
|
-
some function by one function call.
|
15
|
-
|
16
|
-
Bug: v8:6933
|
17
|
-
Change-Id: Ieadfff7ae2078d2a84085294158ad9a706eb9c64
|
18
|
-
Reviewed-on: https://chromium-review.googlesource.com/723475
|
19
|
-
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
|
20
|
-
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
|
21
|
-
Cr-Commit-Position: refs/heads/master@{#48667}
|
22
|
-
---
|
23
|
-
src/builtins/arm/builtins-arm.cc | 13 +++----------
|
24
|
-
src/builtins/arm64/builtins-arm64.cc | 13 +++----------
|
25
|
-
src/builtins/ia32/builtins-ia32.cc | 15 +++------------
|
26
|
-
src/builtins/mips/builtins-mips.cc | 13 +++----------
|
27
|
-
src/builtins/mips64/builtins-mips64.cc | 13 +++----------
|
28
|
-
src/builtins/ppc/builtins-ppc.cc | 14 +++-----------
|
29
|
-
src/builtins/s390/builtins-s390.cc | 13 +++----------
|
30
|
-
src/builtins/x64/builtins-x64.cc | 13 +++----------
|
31
|
-
src/runtime/runtime-compiler.cc | 21 ---------------------
|
32
|
-
src/runtime/runtime.h | 1 -
|
33
|
-
10 files changed, 24 insertions(+), 105 deletions(-)
|
34
|
-
|
35
|
-
diff --git a/src/builtins/arm/builtins-arm.cc b/src/builtins/arm/builtins-arm.cc
|
36
|
-
index bf359d69e9..e8fa690660 100644
|
37
|
-
--- a/src/builtins/arm/builtins-arm.cc
|
38
|
-
+++ b/src/builtins/arm/builtins-arm.cc
|
39
|
-
@@ -782,22 +782,15 @@ static void MaybeTailCallOptimizedCodeSlot(MacroAssembler* masm,
|
40
|
-
Runtime::kCompileOptimized_Concurrent);
|
41
|
-
|
42
|
-
{
|
43
|
-
- // Otherwise, the marker is InOptimizationQueue.
|
44
|
-
+ // Otherwise, the marker is InOptimizationQueue, so fall through hoping
|
45
|
-
+ // that an interrupt will eventually update the slot with optimized code.
|
46
|
-
if (FLAG_debug_code) {
|
47
|
-
__ cmp(
|
48
|
-
optimized_code_entry,
|
49
|
-
Operand(Smi::FromEnum(OptimizationMarker::kInOptimizationQueue)));
|
50
|
-
__ Assert(eq, kExpectedOptimizationSentinel);
|
51
|
-
}
|
52
|
-
- // Checking whether the queued function is ready for install is
|
53
|
-
- // optional, since we come across interrupts and stack checks elsewhere.
|
54
|
-
- // However, not checking may delay installing ready functions, and
|
55
|
-
- // always checking would be quite expensive. A good compromise is to
|
56
|
-
- // first check against stack limit as a cue for an interrupt signal.
|
57
|
-
- __ LoadRoot(scratch2, Heap::kStackLimitRootIndex);
|
58
|
-
- __ cmp(sp, Operand(scratch2));
|
59
|
-
- __ b(hs, &fallthrough);
|
60
|
-
- GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode);
|
61
|
-
+ __ jmp(&fallthrough);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
|
65
|
-
diff --git a/src/builtins/arm64/builtins-arm64.cc b/src/builtins/arm64/builtins-arm64.cc
|
66
|
-
index b1d5d32b9a..7aaa2d0003 100644
|
67
|
-
--- a/src/builtins/arm64/builtins-arm64.cc
|
68
|
-
+++ b/src/builtins/arm64/builtins-arm64.cc
|
69
|
-
@@ -788,22 +788,15 @@ static void MaybeTailCallOptimizedCodeSlot(MacroAssembler* masm,
|
70
|
-
Runtime::kCompileOptimized_Concurrent);
|
71
|
-
|
72
|
-
{
|
73
|
-
- // Otherwise, the marker is InOptimizationQueue.
|
74
|
-
+ // Otherwise, the marker is InOptimizationQueue, so fall through hoping
|
75
|
-
+ // that an interrupt will eventually update the slot with optimized code.
|
76
|
-
if (FLAG_debug_code) {
|
77
|
-
__ Cmp(
|
78
|
-
optimized_code_entry,
|
79
|
-
Operand(Smi::FromEnum(OptimizationMarker::kInOptimizationQueue)));
|
80
|
-
__ Assert(eq, kExpectedOptimizationSentinel);
|
81
|
-
}
|
82
|
-
-
|
83
|
-
- // Checking whether the queued function is ready for install is optional,
|
84
|
-
- // since we come across interrupts and stack checks elsewhere. However,
|
85
|
-
- // not checking may delay installing ready functions, and always checking
|
86
|
-
- // would be quite expensive. A good compromise is to first check against
|
87
|
-
- // stack limit as a cue for an interrupt signal.
|
88
|
-
- __ CompareRoot(masm->StackPointer(), Heap::kStackLimitRootIndex);
|
89
|
-
- __ B(hs, &fallthrough);
|
90
|
-
- GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode);
|
91
|
-
+ __ B(&fallthrough);
|
92
|
-
}
|
93
|
-
}
|
94
|
-
|
95
|
-
diff --git a/src/builtins/ia32/builtins-ia32.cc b/src/builtins/ia32/builtins-ia32.cc
|
96
|
-
index ee15025520..a689c3131d 100644
|
97
|
-
--- a/src/builtins/ia32/builtins-ia32.cc
|
98
|
-
+++ b/src/builtins/ia32/builtins-ia32.cc
|
99
|
-
@@ -698,24 +698,15 @@ static void MaybeTailCallOptimizedCodeSlot(MacroAssembler* masm,
|
100
|
-
Runtime::kCompileOptimized_Concurrent);
|
101
|
-
|
102
|
-
{
|
103
|
-
- // Otherwise, the marker is InOptimizationQueue.
|
104
|
-
+ // Otherwise, the marker is InOptimizationQueue, so fall through hoping
|
105
|
-
+ // that an interrupt will eventually update the slot with optimized code.
|
106
|
-
if (FLAG_debug_code) {
|
107
|
-
__ cmp(
|
108
|
-
optimized_code_entry,
|
109
|
-
Immediate(Smi::FromEnum(OptimizationMarker::kInOptimizationQueue)));
|
110
|
-
__ Assert(equal, kExpectedOptimizationSentinel);
|
111
|
-
}
|
112
|
-
-
|
113
|
-
- // Checking whether the queued function is ready for install is optional,
|
114
|
-
- // since we come across interrupts and stack checks elsewhere. However,
|
115
|
-
- // not checking may delay installing ready functions, and always checking
|
116
|
-
- // would be quite expensive. A good compromise is to first check against
|
117
|
-
- // stack limit as a cue for an interrupt signal.
|
118
|
-
- ExternalReference stack_limit =
|
119
|
-
- ExternalReference::address_of_stack_limit(masm->isolate());
|
120
|
-
- __ cmp(esp, Operand::StaticVariable(stack_limit));
|
121
|
-
- __ j(above_equal, &fallthrough);
|
122
|
-
- GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode);
|
123
|
-
+ __ jmp(&fallthrough);
|
124
|
-
}
|
125
|
-
}
|
126
|
-
|
127
|
-
diff --git a/src/builtins/mips/builtins-mips.cc b/src/builtins/mips/builtins-mips.cc
|
128
|
-
index e8f846c10a..4835fb0b1b 100644
|
129
|
-
--- a/src/builtins/mips/builtins-mips.cc
|
130
|
-
+++ b/src/builtins/mips/builtins-mips.cc
|
131
|
-
@@ -760,21 +760,14 @@ static void MaybeTailCallOptimizedCodeSlot(MacroAssembler* masm,
|
132
|
-
Runtime::kCompileOptimized_Concurrent);
|
133
|
-
|
134
|
-
{
|
135
|
-
- // Otherwise, the marker is InOptimizationQueue.
|
136
|
-
+ // Otherwise, the marker is InOptimizationQueue, so fall through hoping
|
137
|
-
+ // that an interrupt will eventually update the slot with optimized code.
|
138
|
-
if (FLAG_debug_code) {
|
139
|
-
__ Assert(
|
140
|
-
eq, kExpectedOptimizationSentinel, optimized_code_entry,
|
141
|
-
Operand(Smi::FromEnum(OptimizationMarker::kInOptimizationQueue)));
|
142
|
-
}
|
143
|
-
-
|
144
|
-
- // Checking whether the queued function is ready for install is optional,
|
145
|
-
- // since we come across interrupts and stack checks elsewhere. However,
|
146
|
-
- // not checking may delay installing ready functions, and always checking
|
147
|
-
- // would be quite expensive. A good compromise is to first check against
|
148
|
-
- // stack limit as a cue for an interrupt signal.
|
149
|
-
- __ LoadRoot(at, Heap::kStackLimitRootIndex);
|
150
|
-
- __ Branch(&fallthrough, hs, sp, Operand(at));
|
151
|
-
- GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode);
|
152
|
-
+ __ jmp(&fallthrough);
|
153
|
-
}
|
154
|
-
}
|
155
|
-
|
156
|
-
diff --git a/src/builtins/mips64/builtins-mips64.cc b/src/builtins/mips64/builtins-mips64.cc
|
157
|
-
index f62750b061..2584444f1f 100644
|
158
|
-
--- a/src/builtins/mips64/builtins-mips64.cc
|
159
|
-
+++ b/src/builtins/mips64/builtins-mips64.cc
|
160
|
-
@@ -760,21 +760,14 @@ static void MaybeTailCallOptimizedCodeSlot(MacroAssembler* masm,
|
161
|
-
Runtime::kCompileOptimized_Concurrent);
|
162
|
-
|
163
|
-
{
|
164
|
-
- // Otherwise, the marker is InOptimizationQueue.
|
165
|
-
+ // Otherwise, the marker is InOptimizationQueue, so fall through hoping
|
166
|
-
+ // that an interrupt will eventually update the slot with optimized code.
|
167
|
-
if (FLAG_debug_code) {
|
168
|
-
__ Assert(
|
169
|
-
eq, kExpectedOptimizationSentinel, optimized_code_entry,
|
170
|
-
Operand(Smi::FromEnum(OptimizationMarker::kInOptimizationQueue)));
|
171
|
-
}
|
172
|
-
-
|
173
|
-
- // Checking whether the queued function is ready for install is optional,
|
174
|
-
- // since we come across interrupts and stack checks elsewhere. However,
|
175
|
-
- // not checking may delay installing ready functions, and always checking
|
176
|
-
- // would be quite expensive. A good compromise is to first check against
|
177
|
-
- // stack limit as a cue for an interrupt signal.
|
178
|
-
- __ LoadRoot(t0, Heap::kStackLimitRootIndex);
|
179
|
-
- __ Branch(&fallthrough, hs, sp, Operand(t0));
|
180
|
-
- GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode);
|
181
|
-
+ __ jmp(&fallthrough);
|
182
|
-
}
|
183
|
-
}
|
184
|
-
|
185
|
-
diff --git a/src/builtins/ppc/builtins-ppc.cc b/src/builtins/ppc/builtins-ppc.cc
|
186
|
-
index 3ed3eb686d..c242be5cf8 100644
|
187
|
-
--- a/src/builtins/ppc/builtins-ppc.cc
|
188
|
-
+++ b/src/builtins/ppc/builtins-ppc.cc
|
189
|
-
@@ -780,23 +780,15 @@ static void MaybeTailCallOptimizedCodeSlot(MacroAssembler* masm,
|
190
|
-
Runtime::kCompileOptimized_Concurrent);
|
191
|
-
|
192
|
-
{
|
193
|
-
- // Otherwise, the marker is InOptimizationQueue.
|
194
|
-
+ // Otherwise, the marker is InOptimizationQueue, so fall through hoping
|
195
|
-
+ // that an interrupt will eventually update the slot with optimized code.
|
196
|
-
if (FLAG_debug_code) {
|
197
|
-
__ CmpSmiLiteral(
|
198
|
-
optimized_code_entry,
|
199
|
-
Smi::FromEnum(OptimizationMarker::kInOptimizationQueue), r0);
|
200
|
-
__ Assert(eq, kExpectedOptimizationSentinel);
|
201
|
-
}
|
202
|
-
-
|
203
|
-
- // Checking whether the queued function is ready for install is optional,
|
204
|
-
- // since we come across interrupts and stack checks elsewhere. However,
|
205
|
-
- // not checking may delay installing ready functions, and always checking
|
206
|
-
- // would be quite expensive. A good compromise is to first check against
|
207
|
-
- // stack limit as a cue for an interrupt signal.
|
208
|
-
- __ LoadRoot(ip, Heap::kStackLimitRootIndex);
|
209
|
-
- __ cmpl(sp, ip);
|
210
|
-
- __ bge(&fallthrough);
|
211
|
-
- GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode);
|
212
|
-
+ __ b(&fallthrough);
|
213
|
-
}
|
214
|
-
}
|
215
|
-
|
216
|
-
diff --git a/src/builtins/s390/builtins-s390.cc b/src/builtins/s390/builtins-s390.cc
|
217
|
-
index e9ef390c69..aa9e62f217 100644
|
218
|
-
--- a/src/builtins/s390/builtins-s390.cc
|
219
|
-
+++ b/src/builtins/s390/builtins-s390.cc
|
220
|
-
@@ -783,22 +783,15 @@ static void MaybeTailCallOptimizedCodeSlot(MacroAssembler* masm,
|
221
|
-
Runtime::kCompileOptimized_Concurrent);
|
222
|
-
|
223
|
-
{
|
224
|
-
- // Otherwise, the marker is InOptimizationQueue.
|
225
|
-
+ // Otherwise, the marker is InOptimizationQueue, so fall through hoping
|
226
|
-
+ // that an interrupt will eventually update the slot with optimized code.
|
227
|
-
if (FLAG_debug_code) {
|
228
|
-
__ CmpSmiLiteral(
|
229
|
-
optimized_code_entry,
|
230
|
-
Smi::FromEnum(OptimizationMarker::kInOptimizationQueue), r0);
|
231
|
-
__ Assert(eq, kExpectedOptimizationSentinel);
|
232
|
-
}
|
233
|
-
-
|
234
|
-
- // Checking whether the queued function is ready for install is optional,
|
235
|
-
- // since we come across interrupts and stack checks elsewhere. However,
|
236
|
-
- // not checking may delay installing ready functions, and always checking
|
237
|
-
- // would be quite expensive. A good compromise is to first check against
|
238
|
-
- // stack limit as a cue for an interrupt signal.
|
239
|
-
- __ CmpLogicalP(sp, RootMemOperand(Heap::kStackLimitRootIndex));
|
240
|
-
- __ bge(&fallthrough, Label::kNear);
|
241
|
-
- GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode);
|
242
|
-
+ __ b(&fallthrough, Label::kNear);
|
243
|
-
}
|
244
|
-
}
|
245
|
-
|
246
|
-
diff --git a/src/builtins/x64/builtins-x64.cc b/src/builtins/x64/builtins-x64.cc
|
247
|
-
index 713475cd34..81c92681d5 100644
|
248
|
-
--- a/src/builtins/x64/builtins-x64.cc
|
249
|
-
+++ b/src/builtins/x64/builtins-x64.cc
|
250
|
-
@@ -781,21 +781,14 @@ static void MaybeTailCallOptimizedCodeSlot(MacroAssembler* masm,
|
251
|
-
Runtime::kCompileOptimized_Concurrent);
|
252
|
-
|
253
|
-
{
|
254
|
-
- // Otherwise, the marker is InOptimizationQueue.
|
255
|
-
+ // Otherwise, the marker is InOptimizationQueue, so fall through hoping
|
256
|
-
+ // that an interrupt will eventually update the slot with optimized code.
|
257
|
-
if (FLAG_debug_code) {
|
258
|
-
__ SmiCompare(optimized_code_entry,
|
259
|
-
Smi::FromEnum(OptimizationMarker::kInOptimizationQueue));
|
260
|
-
__ Assert(equal, kExpectedOptimizationSentinel);
|
261
|
-
}
|
262
|
-
-
|
263
|
-
- // Checking whether the queued function is ready for install is optional,
|
264
|
-
- // since we come across interrupts and stack checks elsewhere. However,
|
265
|
-
- // not checking may delay installing ready functions, and always checking
|
266
|
-
- // would be quite expensive. A good compromise is to first check against
|
267
|
-
- // stack limit as a cue for an interrupt signal.
|
268
|
-
- __ CompareRoot(rsp, Heap::kStackLimitRootIndex);
|
269
|
-
- __ j(above_equal, &fallthrough);
|
270
|
-
- GenerateTailCallToReturnedCode(masm, Runtime::kTryInstallOptimizedCode);
|
271
|
-
+ __ jmp(&fallthrough);
|
272
|
-
}
|
273
|
-
}
|
274
|
-
|
275
|
-
diff --git a/src/runtime/runtime-compiler.cc b/src/runtime/runtime-compiler.cc
|
276
|
-
index 1cc00f5b7e..b445037d08 100644
|
277
|
-
--- a/src/runtime/runtime-compiler.cc
|
278
|
-
+++ b/src/runtime/runtime-compiler.cc
|
279
|
-
@@ -302,27 +302,6 @@ RUNTIME_FUNCTION(Runtime_CompileForOnStackReplacement) {
|
280
|
-
return NULL;
|
281
|
-
}
|
282
|
-
|
283
|
-
-
|
284
|
-
-RUNTIME_FUNCTION(Runtime_TryInstallOptimizedCode) {
|
285
|
-
- HandleScope scope(isolate);
|
286
|
-
- DCHECK_EQ(1, args.length());
|
287
|
-
- CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
|
288
|
-
-
|
289
|
-
- // First check if this is a real stack overflow.
|
290
|
-
- StackLimitCheck check(isolate);
|
291
|
-
- if (check.JsHasOverflowed(kStackSpaceRequiredForCompilation * KB)) {
|
292
|
-
- return isolate->StackOverflow();
|
293
|
-
- }
|
294
|
-
-
|
295
|
-
- // Only try to install optimized functions if the interrupt was InstallCode.
|
296
|
-
- if (isolate->stack_guard()->CheckAndClearInstallCode()) {
|
297
|
-
- isolate->optimizing_compile_dispatcher()->InstallOptimizedFunctions();
|
298
|
-
- }
|
299
|
-
-
|
300
|
-
- return (function->IsOptimized()) ? function->code()
|
301
|
-
- : function->shared()->code();
|
302
|
-
-}
|
303
|
-
-
|
304
|
-
static Object* CompileGlobalEval(Isolate* isolate, Handle<String> source,
|
305
|
-
Handle<SharedFunctionInfo> outer_info,
|
306
|
-
LanguageMode language_mode,
|
307
|
-
diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h
|
308
|
-
index e7084a8cca..a11d274d25 100644
|
309
|
-
--- a/src/runtime/runtime.h
|
310
|
-
+++ b/src/runtime/runtime.h
|
311
|
-
@@ -120,7 +120,6 @@ namespace internal {
|
312
|
-
F(NotifyStubFailure, 0, 1) \
|
313
|
-
F(NotifyDeoptimized, 0, 1) \
|
314
|
-
F(CompileForOnStackReplacement, 1, 1) \
|
315
|
-
- F(TryInstallOptimizedCode, 1, 1) \
|
316
|
-
F(ResolvePossiblyDirectEval, 6, 1) \
|
317
|
-
F(InstantiateAsmJs, 4, 1)
|
318
|
-
|
319
|
-
--
|
320
|
-
2.15.1
|
321
|
-
|