libv8 6.0.286.54.3 → 6.2.414.42.0beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +5 -3
- data/CHANGELOG.md +4 -0
- data/Rakefile +3 -3
- data/lib/libv8/version.rb +1 -1
- data/patches/0001-Build-a-standalone-static-library.patch +4 -4
- data/patches/0002-Don-t-compile-unnecessary-stuff.patch +12 -14
- data/patches/0003-Use-the-fPIC-flag-for-the-static-library.patch +4 -4
- data/patches/0004-Do-not-embed-debug-symbols-in-macOS-libraries.patch +4 -4
- data/patches/0005-avoid-constructor-inheritance-due-to-compilation-iss.patch +81 -0
- data/patches/9001-Arm64-Fix-host-architecture-detection.patch +37 -0
- data/vendor/depot_tools/.gitignore +1 -0
- data/vendor/depot_tools/OWNERS +0 -1
- data/vendor/depot_tools/auth.py +154 -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_bin_setup.sh +12 -2
- data/vendor/depot_tools/cipd_manifest.txt +4 -1
- data/vendor/depot_tools/fetch.py +2 -0
- data/vendor/depot_tools/gclient.py +4 -6
- data/vendor/depot_tools/gclient_scm.py +12 -5
- data/vendor/depot_tools/gerrit_util.py +23 -1
- data/vendor/depot_tools/git_cache.py +59 -23
- data/vendor/depot_tools/git_cl.py +114 -43
- data/vendor/depot_tools/git_common.py +7 -0
- data/vendor/depot_tools/git_rebase_update.py +1 -0
- data/vendor/depot_tools/git_upstream_diff.py +12 -5
- data/vendor/depot_tools/gsutil.py +10 -0
- data/vendor/depot_tools/infra/config/OWNERS +0 -1
- data/vendor/depot_tools/infra/config/cq.cfg +6 -5
- data/vendor/depot_tools/infra/config/recipes.cfg +1 -1
- data/vendor/depot_tools/mac_toolchain +12 -0
- data/vendor/depot_tools/man/html/git-upstream-diff.html +10 -6
- data/vendor/depot_tools/man/man1/git-upstream-diff.1 +18 -7
- data/vendor/depot_tools/man/src/git-upstream-diff.txt +8 -5
- data/vendor/depot_tools/owners.py +9 -2
- data/vendor/depot_tools/presubmit_canned_checks.py +122 -0
- data/vendor/depot_tools/presubmit_support.py +57 -4
- data/vendor/depot_tools/recipes/OWNERS +0 -1
- data/vendor/depot_tools/recipes/README.recipes.md +20 -17
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +15 -4
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +23 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/buildbot.json +23 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_shallow.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_buildbot.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_json.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_json_win.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_empty_revision.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +4 -45
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +23 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +23 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle_deprecated.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_manifest_name.json +194 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_manifest_name_no_patch.json +105 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +46 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +12 -2
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +226 -149
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +16 -5
- data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +1 -2
- data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +11 -0
- data/vendor/depot_tools/rietveld.py +1 -1
- data/vendor/depot_tools/roll_dep.py +4 -1
- data/vendor/depot_tools/split_cl.py +3 -0
- data/vendor/depot_tools/third_party/cq_client/OWNERS +0 -1
- data/vendor/depot_tools/third_party/mock/LICENSE.txt +26 -0
- data/vendor/depot_tools/third_party/mock/README.chromium +24 -0
- data/vendor/depot_tools/third_party/mock/__init__.py +2366 -0
- data/vendor/depot_tools/watchlists.py +12 -5
- metadata +12 -5
- data/patches/0005-Fix-GCC-7-build-errors.patch +0 -147
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24f1e27ffdebdfda185ee877d56047941a3b7743
|
4
|
+
data.tar.gz: 48beb24665420d51ff4485856d8c501a24e57168
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b924dd26d7921729c5d61d4f86259efe30ee232af5be699b0898c9aa28bb27c51fa228ae352c019353e20008138fb6c66dae5be1903ad3a199bffa9dcbc2d7d
|
7
|
+
data.tar.gz: 79c9c625f18a36b69321ac7cbfd904457c43e46903e59f86f4ccbd261cc60d70f025cce60eac5fce9594baefc83a8ff331633cc663f52d3739510dd11dc39bd3
|
data/.travis.yml
CHANGED
@@ -12,8 +12,9 @@ matrix:
|
|
12
12
|
- rvm: 2.4.0
|
13
13
|
os: osx
|
14
14
|
osx_image: xcode7.3
|
15
|
-
-
|
16
|
-
|
15
|
+
- os: osx
|
16
|
+
osx_image: xcode6.4
|
17
|
+
- os: osx
|
17
18
|
osx_image: xcode9.1
|
18
19
|
- rvm: system
|
19
20
|
os: osx
|
@@ -33,6 +34,8 @@ matrix:
|
|
33
34
|
allow_failures:
|
34
35
|
- rvm: 1.9.3
|
35
36
|
- rvm: rbx
|
37
|
+
- os: osx
|
38
|
+
osx_image: xcode6.4
|
36
39
|
fast_finish: true
|
37
40
|
dist: trusty
|
38
41
|
addons:
|
@@ -43,7 +46,6 @@ bundler_args: --jobs=4 --retry=3
|
|
43
46
|
before_install:
|
44
47
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then gem update bundler; fi
|
45
48
|
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then gem update --system; fi
|
46
|
-
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$TRAVIS_RUBY_VERSION" == "2.0.0" ]; then rvm rubygems current; fi
|
47
49
|
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$TRAVIS_RUBY_VERSION" == "system" ]; then sudo gem install bundler; fi
|
48
50
|
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$TRAVIS_RUBY_VERSION" != "system" ]; then gem update --system; fi
|
49
51
|
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$TRAVIS_RUBY_VERSION" != "system" ]; then gem update bundler; fi
|
data/CHANGELOG.md
CHANGED
data/Rakefile
CHANGED
@@ -70,9 +70,9 @@ namespace :build do
|
|
70
70
|
Dir.chdir(arch_dir) do
|
71
71
|
ENV['RUBYLIB'] = nil # https://github.com/mitchellh/vagrant/issues/6158
|
72
72
|
sh "vagrant up"
|
73
|
-
sh "vagrant ssh -c 'rm -rf ~/libv8'"
|
74
|
-
sh "vagrant ssh -c 'git clone /libv8/.git ~/libv8 --recursive'"
|
75
|
-
sh "vagrant ssh -c 'cd ~/libv8 && bundle install --path vendor/bundle'"
|
73
|
+
# sh "vagrant ssh -c 'rm -rf ~/libv8'"
|
74
|
+
# sh "vagrant ssh -c 'git clone /libv8/.git ~/libv8 --recursive'"
|
75
|
+
# sh "vagrant ssh -c 'cd ~/libv8 && bundle install --path vendor/bundle'"
|
76
76
|
sh "vagrant ssh -c 'cd ~/libv8 && env MAKEFLAGS=-j4 bundle exec rake binary'"
|
77
77
|
sh "vagrant status | grep scaleway" do |ok, res|
|
78
78
|
if ok
|
data/lib/libv8/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
From
|
1
|
+
From cbe264bb5c231d06f64b48413f3f268ca490e00a Mon Sep 17 00:00:00 2001
|
2
2
|
From: Petko Bordjukov <bordjukov@gmail.com>
|
3
3
|
Date: Mon, 25 Jul 2016 00:00:19 +0300
|
4
4
|
Subject: [PATCH 1/5] Build a standalone static library
|
@@ -8,10 +8,10 @@ Subject: [PATCH 1/5] Build a standalone static library
|
|
8
8
|
1 file changed, 3 insertions(+)
|
9
9
|
|
10
10
|
diff --git a/gypfiles/standalone.gypi b/gypfiles/standalone.gypi
|
11
|
-
index
|
11
|
+
index 63930d8aef..d0d00d3f67 100644
|
12
12
|
--- a/gypfiles/standalone.gypi
|
13
13
|
+++ b/gypfiles/standalone.gypi
|
14
|
-
@@ -
|
14
|
+
@@ -517,6 +517,9 @@
|
15
15
|
}], # fastbuild!=0
|
16
16
|
],
|
17
17
|
'target_conditions': [
|
@@ -22,5 +22,5 @@ index 4c805bf643..6a72a23cfb 100644
|
|
22
22
|
'defines!': [
|
23
23
|
'DEBUG',
|
24
24
|
--
|
25
|
-
2.
|
25
|
+
2.14.3
|
26
26
|
|
@@ -1,36 +1,34 @@
|
|
1
|
-
From
|
1
|
+
From 96075b7eeeef64063186d743d1fa36e6de494a6e Mon Sep 17 00:00:00 2001
|
2
2
|
From: Petko Bordjukov <bordjukov@gmail.com>
|
3
3
|
Date: Fri, 28 Jul 2017 11:11:08 +0300
|
4
4
|
Subject: [PATCH 2/5] Don't compile unnecessary stuff
|
5
5
|
|
6
6
|
---
|
7
|
-
Makefile |
|
7
|
+
Makefile | 9 ++-------
|
8
8
|
gypfiles/all.gyp | 33 ---------------------------------
|
9
|
-
2 files changed,
|
9
|
+
2 files changed, 2 insertions(+), 40 deletions(-)
|
10
10
|
|
11
11
|
diff --git a/Makefile b/Makefile
|
12
|
-
index
|
12
|
+
index eb146ac244..902832af48 100644
|
13
13
|
--- a/Makefile
|
14
14
|
+++ b/Makefile
|
15
|
-
@@ -
|
16
|
-
android_mipsel
|
15
|
+
@@ -268,14 +268,9 @@ ANDROID_ARCHES = android_ia32 android_x64 android_arm android_arm64 \
|
16
|
+
android_mipsel
|
17
17
|
|
18
18
|
# List of files that trigger Makefile regeneration:
|
19
19
|
-GYPFILES = third_party/icu/icu.gypi third_party/icu/icu.gyp \
|
20
20
|
- gypfiles/shim_headers.gypi gypfiles/features.gypi \
|
21
21
|
- gypfiles/standalone.gypi \
|
22
|
-
|
22
|
+
+GYPFILES = gypfiles/features.gypi gypfiles/standalone.gypi \
|
23
|
+
gypfiles/toolchain.gypi gypfiles/all.gyp gypfiles/mac/asan.gyp \
|
23
24
|
- test/cctest/cctest.gyp test/fuzzer/fuzzer.gyp \
|
24
25
|
- test/unittests/unittests.gyp src/v8.gyp \
|
25
26
|
- tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \
|
26
|
-
-
|
27
|
-
|
28
|
-
+GYPFILES = gypfiles/shim_headers.gypi gypfiles/features.gypi \
|
29
|
-
+ gypfiles/standalone.gypi gypfiles/all.gyp \
|
30
|
-
+ gypfiles/mac/asan.gyp src/v8.gyp tools/parser-shell.gyp \
|
31
|
-
src/third_party/vtune/v8vtune.gyp src/d8.gyp
|
27
|
+
- samples/samples.gyp src/third_party/vtune/v8vtune.gyp src/d8.gyp
|
28
|
+
+ src/v8.gyp src/d8.gyp
|
32
29
|
|
33
30
|
# If vtunejit=on, the v8vtune.gyp will be appended.
|
31
|
+
ifeq ($(vtunejit), on)
|
34
32
|
diff --git a/gypfiles/all.gyp b/gypfiles/all.gyp
|
35
33
|
index bc9d9650eb..96820a0ecc 100644
|
36
34
|
--- a/gypfiles/all.gyp
|
@@ -83,5 +81,5 @@ index bc9d9650eb..96820a0ecc 100644
|
|
83
81
|
}
|
84
82
|
]
|
85
83
|
--
|
86
|
-
2.
|
84
|
+
2.14.3
|
87
85
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
From
|
1
|
+
From 97bb118756e30cea60216d3e74ba352d76001637 Mon Sep 17 00:00:00 2001
|
2
2
|
From: Petko Bordjukov <bordjukov@gmail.com>
|
3
3
|
Date: Mon, 25 Jul 2016 00:05:47 +0300
|
4
4
|
Subject: [PATCH 3/5] Use the -fPIC flag for the static library
|
@@ -8,10 +8,10 @@ Subject: [PATCH 3/5] Use the -fPIC flag for the static library
|
|
8
8
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
9
9
|
|
10
10
|
diff --git a/gypfiles/standalone.gypi b/gypfiles/standalone.gypi
|
11
|
-
index
|
11
|
+
index d0d00d3f67..f01bd48596 100644
|
12
12
|
--- a/gypfiles/standalone.gypi
|
13
13
|
+++ b/gypfiles/standalone.gypi
|
14
|
-
@@ -
|
14
|
+
@@ -797,7 +797,7 @@
|
15
15
|
[ 'visibility=="hidden" and v8_enable_backtrace==0', {
|
16
16
|
'cflags': [ '-fvisibility=hidden' ],
|
17
17
|
}],
|
@@ -21,5 +21,5 @@ index 6a72a23cfb..fdf27226ad 100644
|
|
21
21
|
}],
|
22
22
|
[ 'clang==0 and coverage==1', {
|
23
23
|
--
|
24
|
-
2.
|
24
|
+
2.14.3
|
25
25
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
From
|
1
|
+
From b06fb098489c375a4499fb6a62c92a32a0b282d8 Mon Sep 17 00:00:00 2001
|
2
2
|
From: Jb Aviat <jb@sqreen.io>
|
3
3
|
Date: Mon, 27 Feb 2017 11:14:42 +0200
|
4
4
|
Subject: [PATCH 4/5] Do not embed debug symbols in macOS libraries
|
@@ -9,10 +9,10 @@ This lowers dramatically the produced binary size
|
|
9
9
|
1 file changed, 1 insertion(+)
|
10
10
|
|
11
11
|
diff --git a/gypfiles/standalone.gypi b/gypfiles/standalone.gypi
|
12
|
-
index
|
12
|
+
index f01bd48596..25ca6b8606 100644
|
13
13
|
--- a/gypfiles/standalone.gypi
|
14
14
|
+++ b/gypfiles/standalone.gypi
|
15
|
-
@@ -
|
15
|
+
@@ -1056,6 +1056,7 @@
|
16
16
|
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
|
17
17
|
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
|
18
18
|
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
|
@@ -21,5 +21,5 @@ index fdf27226ad..8c2972fe54 100644
|
|
21
21
|
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
|
22
22
|
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
|
23
23
|
--
|
24
|
-
2.
|
24
|
+
2.14.3
|
25
25
|
|
@@ -0,0 +1,81 @@
|
|
1
|
+
From dae2970a6e2f4ac30a1deee21562ac00cce3794a Mon Sep 17 00:00:00 2001
|
2
|
+
From: Tobias Tebbi <tebbi@chromium.org>
|
3
|
+
Date: Tue, 10 Oct 2017 22:39:41 +0200
|
4
|
+
Subject: [PATCH 5/5] avoid constructor inheritance due to compilation issues
|
5
|
+
|
6
|
+
Constructor inheritance of a templated constructor is causing compilation issues for node.js:
|
7
|
+
|
8
|
+
https: //github.com/nodejs/node/pull/15362#issue-257007421
|
9
|
+
Change-Id: I7d099ff5a1a2fd5b19c11112ddef8fe824e509f7
|
10
|
+
Reviewed-on: https://chromium-review.googlesource.com/707008
|
11
|
+
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
|
12
|
+
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
|
13
|
+
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
|
14
|
+
Cr-Commit-Position: refs/heads/master@{#48445}
|
15
|
+
---
|
16
|
+
src/compiler/common-operator.cc | 4 ++--
|
17
|
+
src/compiler/common-operator.h | 12 ++++++++----
|
18
|
+
2 files changed, 10 insertions(+), 6 deletions(-)
|
19
|
+
|
20
|
+
diff --git a/src/compiler/common-operator.cc b/src/compiler/common-operator.cc
|
21
|
+
index c48773920d..d92722f701 100644
|
22
|
+
--- a/src/compiler/common-operator.cc
|
23
|
+
+++ b/src/compiler/common-operator.cc
|
24
|
+
@@ -1255,7 +1255,7 @@ bool IsRestOf(Operator const* op) {
|
25
|
+
return OpParameter<bool>(op);
|
26
|
+
}
|
27
|
+
|
28
|
+
-const Operator* CommonOperatorBuilder::ObjectState(int object_id,
|
29
|
+
+const Operator* CommonOperatorBuilder::ObjectState(uint32_t object_id,
|
30
|
+
int pointer_slots) {
|
31
|
+
return new (zone()) Operator1<ObjectStateInfo>( // --
|
32
|
+
IrOpcode::kObjectState, Operator::kPure, // opcode
|
33
|
+
@@ -1265,7 +1265,7 @@ const Operator* CommonOperatorBuilder::ObjectState(int object_id,
|
34
|
+
}
|
35
|
+
|
36
|
+
const Operator* CommonOperatorBuilder::TypedObjectState(
|
37
|
+
- int object_id, const ZoneVector<MachineType>* types) {
|
38
|
+
+ uint32_t object_id, const ZoneVector<MachineType>* types) {
|
39
|
+
return new (zone()) Operator1<TypedObjectStateInfo>( // --
|
40
|
+
IrOpcode::kTypedObjectState, Operator::kPure, // opcode
|
41
|
+
"TypedObjectState", // name
|
42
|
+
diff --git a/src/compiler/common-operator.h b/src/compiler/common-operator.h
|
43
|
+
index f7638a3cca..9dfb059518 100644
|
44
|
+
--- a/src/compiler/common-operator.h
|
45
|
+
+++ b/src/compiler/common-operator.h
|
46
|
+
@@ -125,7 +125,8 @@ V8_EXPORT_PRIVATE int ParameterIndexOf(const Operator* const);
|
47
|
+
const ParameterInfo& ParameterInfoOf(const Operator* const);
|
48
|
+
|
49
|
+
struct ObjectStateInfo final : std::pair<uint32_t, int> {
|
50
|
+
- using std::pair<uint32_t, int>::pair;
|
51
|
+
+ ObjectStateInfo(uint32_t object_id, int size)
|
52
|
+
+ : std::pair<uint32_t, int>(object_id, size) {}
|
53
|
+
uint32_t object_id() const { return first; }
|
54
|
+
int size() const { return second; }
|
55
|
+
};
|
56
|
+
@@ -134,7 +135,10 @@ size_t hash_value(ObjectStateInfo const& p);
|
57
|
+
|
58
|
+
struct TypedObjectStateInfo final
|
59
|
+
: std::pair<uint32_t, const ZoneVector<MachineType>*> {
|
60
|
+
- using std::pair<uint32_t, const ZoneVector<MachineType>*>::pair;
|
61
|
+
+ TypedObjectStateInfo(uint32_t object_id,
|
62
|
+
+ const ZoneVector<MachineType>* machine_types)
|
63
|
+
+ : std::pair<uint32_t, const ZoneVector<MachineType>*>(object_id,
|
64
|
+
+ machine_types) {}
|
65
|
+
uint32_t object_id() const { return first; }
|
66
|
+
const ZoneVector<MachineType>* machine_types() const { return second; }
|
67
|
+
};
|
68
|
+
@@ -385,8 +389,8 @@ class V8_EXPORT_PRIVATE CommonOperatorBuilder final
|
69
|
+
SparseInputMask bitmask);
|
70
|
+
const Operator* ArgumentsElementsState(bool is_rest);
|
71
|
+
const Operator* ArgumentsLengthState(bool is_rest);
|
72
|
+
- const Operator* ObjectState(int object_id, int pointer_slots);
|
73
|
+
- const Operator* TypedObjectState(int object_id,
|
74
|
+
+ const Operator* ObjectState(uint32_t object_id, int pointer_slots);
|
75
|
+
+ const Operator* TypedObjectState(uint32_t object_id,
|
76
|
+
const ZoneVector<MachineType>* types);
|
77
|
+
const Operator* FrameState(BailoutId bailout_id,
|
78
|
+
OutputFrameStateCombine state_combine,
|
79
|
+
--
|
80
|
+
2.14.3
|
81
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
From f7b393110c0bc58f4fde7589397b5f931a18ea4b Mon Sep 17 00:00:00 2001
|
2
|
+
From: Pierre Langlois <pierre.langlois@arm.com>
|
3
|
+
Date: Tue, 07 Nov 2017 14:26:17 +0000
|
4
|
+
Subject: [PATCH] Arm64: Fix host architecture detection
|
5
|
+
|
6
|
+
This allows the install-sysroot.py script to run as a hook on an Arm64
|
7
|
+
platform. This was tested in v8 and allows us to run `gclient sync` natively.
|
8
|
+
|
9
|
+
Bug: v8:5075
|
10
|
+
Change-Id: Ie2f11a5a6e30973be7ab4ef032abb8c3c7e9591b
|
11
|
+
Reviewed-on: https://chromium-review.googlesource.com/756704
|
12
|
+
Reviewed-by: John Budorick <jbudorick@chromium.org>
|
13
|
+
Commit-Queue: John Budorick <jbudorick@chromium.org>
|
14
|
+
Cr-Commit-Position: refs/heads/master@{#514463}
|
15
|
+
---
|
16
|
+
|
17
|
+
diff --git a/build/detect_host_arch.py b/build/detect_host_arch.py
|
18
|
+
index 8d6a1ba..0e491bc 100755
|
19
|
+
--- a/build/detect_host_arch.py
|
20
|
+
+++ b/build/detect_host_arch.py
|
21
|
+
@@ -21,6 +21,8 @@
|
22
|
+
host_arch = 'x64'
|
23
|
+
elif host_arch.startswith('arm'):
|
24
|
+
host_arch = 'arm'
|
25
|
+
+ elif host_arch.startswith('aarch64'):
|
26
|
+
+ host_arch = 'arm64'
|
27
|
+
elif host_arch.startswith('mips'):
|
28
|
+
host_arch = 'mips'
|
29
|
+
elif host_arch.startswith('ppc'):
|
30
|
+
@@ -35,6 +37,8 @@
|
31
|
+
# the python binary.
|
32
|
+
if host_arch == 'x64' and platform.architecture()[0] == '32bit':
|
33
|
+
host_arch = 'ia32'
|
34
|
+
+ if host_arch == 'arm64' and platform.architecture()[0] == '32bit':
|
35
|
+
+ host_arch = 'arm'
|
36
|
+
|
37
|
+
return host_arch
|
data/vendor/depot_tools/OWNERS
CHANGED
data/vendor/depot_tools/auth.py
CHANGED
@@ -16,6 +16,7 @@ import os
|
|
16
16
|
import socket
|
17
17
|
import sys
|
18
18
|
import threading
|
19
|
+
import time
|
19
20
|
import urllib
|
20
21
|
import urlparse
|
21
22
|
import webbrowser
|
@@ -102,6 +103,125 @@ class LoginRequiredError(AuthenticationError):
|
|
102
103
|
super(LoginRequiredError, self).__init__(msg)
|
103
104
|
|
104
105
|
|
106
|
+
class LuciContextAuthError(Exception):
|
107
|
+
"""Raised on errors related to unsuccessful attempts to load LUCI_CONTEXT"""
|
108
|
+
|
109
|
+
|
110
|
+
def get_luci_context_access_token():
|
111
|
+
"""Returns a valid AccessToken from the local LUCI context auth server.
|
112
|
+
|
113
|
+
Adapted from
|
114
|
+
https://chromium.googlesource.com/infra/luci/luci-py/+/master/client/libs/luci_context/luci_context.py
|
115
|
+
See the link above for more details.
|
116
|
+
|
117
|
+
Returns:
|
118
|
+
AccessToken if LUCI_CONTEXT is present and attempt to load it is successful.
|
119
|
+
None if LUCI_CONTEXT is absent.
|
120
|
+
|
121
|
+
Raises:
|
122
|
+
LuciContextAuthError if the attempt to load LUCI_CONTEXT
|
123
|
+
and request its access token is unsuccessful.
|
124
|
+
"""
|
125
|
+
return _get_luci_context_access_token(os.environ, datetime.datetime.utcnow())
|
126
|
+
|
127
|
+
|
128
|
+
def _get_luci_context_access_token(env, now):
|
129
|
+
ctx_path = env.get('LUCI_CONTEXT')
|
130
|
+
if not ctx_path:
|
131
|
+
return None
|
132
|
+
ctx_path = ctx_path.decode(sys.getfilesystemencoding())
|
133
|
+
logging.debug('Loading LUCI_CONTEXT: %r', ctx_path)
|
134
|
+
|
135
|
+
def authErr(msg, *args):
|
136
|
+
error_msg = msg % args
|
137
|
+
ex = sys.exc_info()[1]
|
138
|
+
if not ex:
|
139
|
+
logging.error(error_msg)
|
140
|
+
raise LuciContextAuthError(error_msg)
|
141
|
+
logging.exception(error_msg)
|
142
|
+
raise LuciContextAuthError('%s: %s' % (error_msg, ex))
|
143
|
+
|
144
|
+
try:
|
145
|
+
loaded = _load_luci_context(ctx_path)
|
146
|
+
except (OSError, IOError, ValueError):
|
147
|
+
authErr('Failed to open, read or decode LUCI_CONTEXT')
|
148
|
+
try:
|
149
|
+
local_auth = loaded.get('local_auth')
|
150
|
+
except AttributeError:
|
151
|
+
authErr('LUCI_CONTEXT not in proper format')
|
152
|
+
# failed to grab local_auth from LUCI context
|
153
|
+
if not local_auth:
|
154
|
+
logging.debug('local_auth: no local auth found')
|
155
|
+
return None
|
156
|
+
try:
|
157
|
+
account_id = local_auth.get('default_account_id')
|
158
|
+
secret = local_auth.get('secret')
|
159
|
+
rpc_port = int(local_auth.get('rpc_port'))
|
160
|
+
except (AttributeError, ValueError):
|
161
|
+
authErr('local_auth: unexpected local auth format')
|
162
|
+
|
163
|
+
if not secret:
|
164
|
+
authErr('local_auth: no secret returned')
|
165
|
+
# if account_id not specified, LUCI_CONTEXT should not be picked up
|
166
|
+
if not account_id:
|
167
|
+
return None
|
168
|
+
|
169
|
+
logging.debug('local_auth: requesting an access token for account "%s"',
|
170
|
+
account_id)
|
171
|
+
http = httplib2.Http()
|
172
|
+
host = '127.0.0.1:%d' % rpc_port
|
173
|
+
resp, content = http.request(
|
174
|
+
uri='http://%s/rpc/LuciLocalAuthService.GetOAuthToken' % host,
|
175
|
+
method='POST',
|
176
|
+
body=json.dumps({
|
177
|
+
'account_id': account_id,
|
178
|
+
'scopes': OAUTH_SCOPES.split(' '),
|
179
|
+
'secret': secret,
|
180
|
+
}),
|
181
|
+
headers={'Content-Type': 'application/json'})
|
182
|
+
if resp.status != 200:
|
183
|
+
err = ('local_auth: Failed to grab access token from '
|
184
|
+
'LUCI context server with status %d: %r')
|
185
|
+
authErr(err, resp.status, content)
|
186
|
+
try:
|
187
|
+
token = json.loads(content)
|
188
|
+
error_code = token.get('error_code')
|
189
|
+
error_message = token.get('error_message')
|
190
|
+
access_token = token.get('access_token')
|
191
|
+
expiry = token.get('expiry')
|
192
|
+
except (AttributeError, ValueError):
|
193
|
+
authErr('local_auth: Unexpected access token response format')
|
194
|
+
if error_code:
|
195
|
+
authErr('local_auth: Error %d in retrieving access token: %s',
|
196
|
+
error_code, error_message)
|
197
|
+
if not access_token:
|
198
|
+
authErr('local_auth: No access token returned from LUCI context server')
|
199
|
+
expiry_dt = None
|
200
|
+
if expiry:
|
201
|
+
try:
|
202
|
+
expiry_dt = datetime.datetime.utcfromtimestamp(expiry)
|
203
|
+
logging.debug(
|
204
|
+
'local_auth: got an access token for '
|
205
|
+
'account "%s" that expires in %d sec',
|
206
|
+
account_id, (expiry_dt - now).total_seconds())
|
207
|
+
except (TypeError, ValueError):
|
208
|
+
authErr('Invalid expiry in returned token')
|
209
|
+
else:
|
210
|
+
logging.debug(
|
211
|
+
'local auth: got an access token for '
|
212
|
+
'account "%s" that does not expire',
|
213
|
+
account_id)
|
214
|
+
access_token = AccessToken(access_token, expiry_dt)
|
215
|
+
if _needs_refresh(access_token, now=now):
|
216
|
+
authErr('local_auth: the returned access token needs to be refreshed')
|
217
|
+
return access_token
|
218
|
+
|
219
|
+
|
220
|
+
def _load_luci_context(ctx_path):
|
221
|
+
with open(ctx_path) as f:
|
222
|
+
return json.load(f)
|
223
|
+
|
224
|
+
|
105
225
|
def make_auth_config(
|
106
226
|
use_oauth2=None,
|
107
227
|
save_cookies=None,
|
@@ -219,6 +339,9 @@ def get_authenticator_for_host(hostname, config):
|
|
219
339
|
|
220
340
|
Returns:
|
221
341
|
Authenticator object.
|
342
|
+
|
343
|
+
Raises:
|
344
|
+
AuthenticationError if hostname is invalid.
|
222
345
|
"""
|
223
346
|
hostname = hostname.lower().rstrip('/')
|
224
347
|
# Append some scheme, otherwise urlparse puts hostname into parsed.path.
|
@@ -303,23 +426,43 @@ class Authenticator(object):
|
|
303
426
|
with self._lock:
|
304
427
|
return bool(self._get_cached_credentials())
|
305
428
|
|
306
|
-
def get_access_token(self, force_refresh=False, allow_user_interaction=False
|
429
|
+
def get_access_token(self, force_refresh=False, allow_user_interaction=False,
|
430
|
+
use_local_auth=True):
|
307
431
|
"""Returns AccessToken, refreshing it if necessary.
|
308
432
|
|
309
433
|
Args:
|
310
434
|
force_refresh: forcefully refresh access token even if it is not expired.
|
311
435
|
allow_user_interaction: True to enable blocking for user input if needed.
|
436
|
+
use_local_auth: default to local auth if needed.
|
312
437
|
|
313
438
|
Raises:
|
314
439
|
AuthenticationError on error or if authentication flow was interrupted.
|
315
440
|
LoginRequiredError if user interaction is required, but
|
316
441
|
allow_user_interaction is False.
|
317
442
|
"""
|
443
|
+
def get_loc_auth_tkn():
|
444
|
+
exi = sys.exc_info()
|
445
|
+
if not use_local_auth:
|
446
|
+
logging.error('Failed to create access token')
|
447
|
+
raise
|
448
|
+
try:
|
449
|
+
self._access_token = get_luci_context_access_token()
|
450
|
+
if not self._access_token:
|
451
|
+
logging.error('Failed to create access token')
|
452
|
+
raise
|
453
|
+
return self._access_token
|
454
|
+
except LuciContextAuthError:
|
455
|
+
logging.exception('Failed to use local auth')
|
456
|
+
raise exi[0], exi[1], exi[2]
|
457
|
+
|
318
458
|
with self._lock:
|
319
459
|
if force_refresh:
|
320
460
|
logging.debug('Forcing access token refresh')
|
321
|
-
|
322
|
-
|
461
|
+
try:
|
462
|
+
self._access_token = self._create_access_token(allow_user_interaction)
|
463
|
+
return self._access_token
|
464
|
+
except LoginRequiredError:
|
465
|
+
return get_loc_auth_tkn()
|
323
466
|
|
324
467
|
# Load from on-disk cache on a first access.
|
325
468
|
if not self._access_token:
|
@@ -331,7 +474,11 @@ class Authenticator(object):
|
|
331
474
|
self._access_token = self._load_access_token()
|
332
475
|
# Nope, still expired, need to run the refresh flow.
|
333
476
|
if not self._access_token or _needs_refresh(self._access_token):
|
334
|
-
|
477
|
+
try:
|
478
|
+
self._access_token = self._create_access_token(
|
479
|
+
allow_user_interaction)
|
480
|
+
except LoginRequiredError:
|
481
|
+
get_loc_auth_tkn()
|
335
482
|
|
336
483
|
return self._access_token
|
337
484
|
|
@@ -548,11 +695,12 @@ def _read_refresh_token_json(path):
|
|
548
695
|
'Failed to read refresh token from %s: missing key %s' % (path, e))
|
549
696
|
|
550
697
|
|
551
|
-
def _needs_refresh(access_token):
|
698
|
+
def _needs_refresh(access_token, now=None):
|
552
699
|
"""True if AccessToken should be refreshed."""
|
553
700
|
if access_token.expires_at is not None:
|
701
|
+
now = now or datetime.datetime.utcnow()
|
554
702
|
# Allow 5 min of clock skew between client and backend.
|
555
|
-
now
|
703
|
+
now += datetime.timedelta(seconds=300)
|
556
704
|
return now >= access_token.expires_at
|
557
705
|
# Token without expiration time never expires.
|
558
706
|
return False
|