Skip to content

Commit a9a5f3a

Browse files
authored
Merge pull request #7 from NativeScript/darind/v7.1.302.31
v8 7.1.302.31 update instructions
2 parents 8df170e + ada8471 commit a9a5f3a

File tree

3 files changed

+53
-91
lines changed

3 files changed

+53
-91
lines changed

6.9.427.23.patch renamed to 7.1.302.31.patch

Lines changed: 22 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
11
diff --git a/BUILD.gn b/BUILD.gn
2-
index 1e31acb..1c7c170 100644
2+
index 83f1fdb..2f3fe6d 100644
33
--- a/BUILD.gn
44
+++ b/BUILD.gn
5-
@@ -376,7 +376,7 @@ config("toolchain") {
6-
visibility = [ ":*" ] # Only targets in this file can depend on this.
7-
8-
defines = []
9-
- cflags = []
10-
+ cflags = [ "-Wno-deprecated-declarations" ]
11-
ldflags = []
12-
13-
if (v8_current_cpu == "arm") {
14-
@@ -1493,6 +1493,8 @@ v8_source_set("v8_base") {
5+
@@ -1535,6 +1535,8 @@ v8_source_set("v8_base") {
156
"include/v8-util.h",
167
"include/v8.h",
178
"include/v8config.h",
@@ -22,13 +13,13 @@ index 1e31acb..1c7c170 100644
2213
"src/address-map.cc",
2314
diff --git a/src/V8NativeScriptExtension.cc b/src/V8NativeScriptExtension.cc
2415
new file mode 100644
25-
index 0000000..6d67650
16+
index 0000000..7a49c4f
2617
--- /dev/null
2718
+++ b/src/V8NativeScriptExtension.cc
28-
@@ -0,0 +1,212 @@
19+
@@ -0,0 +1,213 @@
2920
+#include "V8NativeScriptExtension.h"
3021
+#include "objects-inl.h"
31-
+#include "api.h"
22+
+#include "api-inl.h"
3223
+#include "checks.h"
3324
+#include "contexts.h"
3425
+#include "globals.h"
@@ -109,9 +100,9 @@ index 0000000..6d67650
109100
+ return h->address();
110101
+}
111102
+
112-
+Local<Value>* NativeScriptExtension::GetClosureObjects(Isolate *isolate, const Local<Function>& func, int *length)
103+
+Local<Value>* NativeScriptExtension::GetClosureObjects(Isolate* isolate, const Local<Function>& func, int* length)
113104
+{
114-
+ unsafe_arr< Local<Value> > arr;
105+
+ unsafe_arr<Local<Value>> arr;
115106
+
116107
+ i::Handle<i::JSReceiver> receiver = Utils::OpenHandle(*func);
117108
+
@@ -130,26 +121,27 @@ index 0000000..6d67650
130121
+
131122
+ i::ContextLookupFlags cxtFlags = i::FOLLOW_CHAINS;
132123
+
133-
+ if ((cxt != nullptr) && (!cxt->IsNativeContext()))
124+
+ if (cxt != nullptr && !cxt->IsNativeContext())
134125
+ {
135126
+ i::ScopeInfo *si = cxt->scope_info();
136127
+
137-
+ if (si != nullptr)
128+
+ if (si != nullptr && si->HasContext())
138129
+ {
139130
+ int len = si->length();
140131
+
141132
+ for (int i = 0; i < len; i++)
142133
+ {
143134
+ i::Object *cur = si->get(i);
144135
+
145-
+ if ((cur != nullptr) && (cur->IsString()))
136+
+ if (cur != nullptr && cur->IsString())
146137
+ {
147138
+ i::String *s = i::String::cast(cur);
148139
+
149140
+ i::Handle<i::String> name = i::Handle<i::String>(s, internal_isolate);
150141
+
151142
+ i::PropertyAttributes attr;
152-
+ i::InitializationFlag init_flag; i::VariableMode var_mode;
143+
+ i::InitializationFlag init_flag;
144+
+ i::VariableMode var_mode;
153145
+ int idx;
154146
+
155147
+ i::Handle<i::Object> o = cxt->Lookup(name, cxtFlags, &idx, &attr, &init_flag, &var_mode);
@@ -178,11 +170,11 @@ index 0000000..6d67650
178170
+
179171
+void NativeScriptExtension::ReleaseClosureObjects(Local<Value>* closureObjects)
180172
+{
181-
+ unsafe_arr< Local<Value> >::release_data(closureObjects);
173+
+ unsafe_arr<Local<Value>>::release_data(closureObjects);
182174
+}
183175
+
184176
+
185-
+void NativeScriptExtension::GetAssessorPair(Isolate *isolate, const Local<Object>& obj, const Local<String>& propName, Local<Value>& getter, Local<Value>& setter)
177+
+void NativeScriptExtension::GetAssessorPair(Isolate* isolate, const Local<Object>& obj, const Local<String>& propName, Local<Value>& getter, Local<Value>& setter)
186178
+{
187179
+ i::Handle<i::JSObject> o = i::Handle<i::JSObject>::cast(Utils::OpenHandle(*obj));
188180
+
@@ -210,7 +202,7 @@ index 0000000..6d67650
210202
+}
211203
+
212204
+
213-
+Local<Array> NativeScriptExtension::GetPropertyKeys(Isolate *isolate, const Local<Context>& context, const Local<Object>& object, bool& success)
205+
+Local<Array> NativeScriptExtension::GetPropertyKeys(Isolate* isolate, const Local<Context>& context, const Local<Object>& object, bool& success)
214206
+{
215207
+ success = true;
216208
+
@@ -235,66 +227,38 @@ index 0000000..6d67650
235227
+}
236228
+
237229
+void NativeScriptExtension::CpuFeaturesProbe(bool cross_compile) {
238-
+ internal::CpuFeatures::Probe(cross_compile);
230+
+ i::CpuFeatures::Probe(cross_compile);
239231
+}
240232
+
241233
diff --git a/src/V8NativeScriptExtension.h b/src/V8NativeScriptExtension.h
242234
new file mode 100644
243-
index 0000000..c7954f4
235+
index 0000000..1111215
244236
--- /dev/null
245237
+++ b/src/V8NativeScriptExtension.h
246-
@@ -0,0 +1,22 @@
238+
@@ -0,0 +1,23 @@
247239
+#include "v8.h"
240+
+#include "api.h"
248241
+
249242
+namespace v8 {
250243
+
251244
+ class NativeScriptExtension {
252245
+ public:
253246
+ static unsigned long GetAddress(const v8::Local<v8::Object>& obj);
254247
+
255-
+ static v8::Local<v8::Value>* GetClosureObjects(v8::Isolate *isolate, const v8::Local<v8::Function>& func, int *length);
248+
+ static v8::Local<v8::Value>* GetClosureObjects(v8::Isolate* isolate, const v8::Local<v8::Function>& func, int* length);
256249
+
257250
+ static void ReleaseClosureObjects(v8::Local<v8::Value>* closureObjects);
258251
+
259-
+ static void GetAssessorPair(v8::Isolate *isolate, const v8::Local<v8::Object>& obj, const v8::Local<v8::String>& propName, v8::Local<v8::Value>& getter, v8::Local<v8::Value>& setter);
252+
+ static void GetAssessorPair(v8::Isolate* isolate, const v8::Local<v8::Object>& obj, const v8::Local<v8::String>& propName, v8::Local<v8::Value>& getter, v8::Local<v8::Value>& setter);
260253
+
261-
+ static v8::Local<v8::Array> GetPropertyKeys(v8::Isolate *isolate, const v8::Local<v8::Context>& context, const v8::Local<v8::Object>& object, bool& success);
254+
+ static v8::Local<v8::Array> GetPropertyKeys(v8::Isolate* isolate, const v8::Local<v8::Context>& context, const v8::Local<v8::Object>& object, bool& success);
262255
+
263256
+ static void CpuFeaturesProbe(bool cross_compile);
264257
+ private:
265258
+ NativeScriptExtension();
266259
+ };
267260
+}
268261
+
269-
diff --git a/src/api.cc b/src/api.cc
270-
index 7c569e3..409bcb9 100644
271-
--- a/src/api.cc
272-
+++ b/src/api.cc
273-
@@ -551,8 +551,22 @@ bool RunExtraCode(Isolate* isolate, Local<Context> context,
274-
ScriptOrigin origin(resource_name);
275-
ScriptCompiler::Source source(source_string, origin);
276-
Local<Script> script;
277-
- if (!ScriptCompiler::Compile(context, &source).ToLocal(&script)) return false;
278-
- if (script->Run(context).IsEmpty()) return false;
279-
+ if (!ScriptCompiler::Compile(context, &source).ToLocal(&script)) {
280-
+ base::OS::PrintError("# Script compile failed in %s@%d:%d\n%s\n",
281-
+ *String::Utf8Value(try_catch.Message()->GetScriptResourceName()),
282-
+ try_catch.Message()->GetLineNumber(context).FromJust(),
283-
+ try_catch.Message()->GetStartColumn(context).FromJust(),
284-
+ *String::Utf8Value(try_catch.Exception()));
285-
+ return false;
286-
+ }
287-
+ if (script->Run(context).IsEmpty()) {
288-
+ base::OS::PrintError("# Script run failed in %s@%d:%d\n%s\n",
289-
+ *String::Utf8Value(try_catch.Message()->GetScriptResourceName()),
290-
+ try_catch.Message()->GetLineNumber(context).FromJust(),
291-
+ try_catch.Message()->GetStartColumn(context).FromJust(),
292-
+ *String::Utf8Value(try_catch.Exception()));
293-
+ return false;
294-
+ }
295-
if (i::FLAG_profile_deserialization) {
296-
i::PrintF("Executing custom snapshot script %s took %0.3f ms\n", name,
297-
timer.Elapsed().InMillisecondsF());
298262
diff --git a/src/inspector/inspector_protocol_config.json b/src/inspector/inspector_protocol_config.json
299263
index fa07312..d7e2cef 100644
300264
--- a/src/inspector/inspector_protocol_config.json

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,23 @@ export PATH=`pwd`/depot_tools:"$PATH"
1515
sudo apt-get install curl libc6-dev-i386 g++-multilib
1616
```
1717

18-
* Download and extract Android NDK 17c
18+
* Download and extract Android NDK 18b
1919

2020
Mac OS:
2121
```
22-
curl -O https://dl.google.com/android/repository/android-ndk-r17c-darwin-x86_64.zip
23-
unzip android-ndk-r17c-darwin-x86_64.zip -d ndkr17c
22+
curl -O https://dl.google.com/android/repository/android-ndk-r18b-darwin-x86_64.zip
23+
unzip android-ndk-r18b-darwin-x86_64.zip -d ndkr18b
2424
```
2525

2626
Linux:
2727
```
28-
curl -O https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip
29-
unzip android-ndk-r17c-linux-x86_64.zip -d ndkr17c
28+
curl -O https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip
29+
unzip android-ndk-r18b-linux-x86_64.zip -d ndkr18b
3030
```
3131

3232
* Export ANDROID_NDK_HOME environment variable
3333
```
34-
export ANDROID_NDK_HOME=`pwd`/ndkr17c/android-ndk-r17c
34+
export ANDROID_NDK_HOME=`pwd`/ndkr18b/android-ndk-r18b
3535
```
3636

3737
* `fetch v8` (this will create a `v8` repo folder)
@@ -44,9 +44,9 @@ ln -s $ANDROID_NDK_HOME third_party/android_tools/ndk
4444
ln -s $ANDROID_NDK_HOME third_party/android_ndk
4545
```
4646

47-
* checkout tag 6.9.427.23
47+
* checkout tag 7.1.302.31
4848
```
49-
git checkout 6.9.427.23
49+
git checkout 7.1.302.31
5050
```
5151

5252
* Run sync

build_v8

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,28 @@
44

55
case "$(uname -s)" in
66

7-
Darwin)
8-
echo 'Mac OS X'
9-
cp ./llvm-ar ./v8/third_party/llvm-build/Release+Asserts/bin
10-
NDK_BUILD_TOOLS_ARR=($ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/arm-linux-androideabi/bin \
11-
$ANDROID_NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/aarch64-linux-android/bin \
12-
$ANDROID_NDK_HOME/toolchains/x86-4.9/prebuilt/darwin-x86_64/i686-linux-android/bin \
13-
$ANDROID_NDK_HOME/toolchains/x86_64-4.9/prebuilt/darwin-x86_64/x86_64-linux-android/bin)
14-
;;
15-
16-
Linux)
17-
echo 'Linux'
18-
NDK_BUILD_TOOLS_ARR=($ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/bin \
19-
$ANDROID_NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/aarch64-linux-android/bin \
20-
$ANDROID_NDK_HOME/toolchains/x86-4.9/prebuilt/linux-x86_64/i686-linux-android/bin \
21-
$ANDROID_NDK_HOME/toolchains/x86_64-4.9/prebuilt/linux-x86_64/x86_64-linux-android/bin)
22-
;;
23-
24-
*)
25-
echo 'Unsupported OS'
26-
;;
7+
Darwin)
8+
echo 'Mac OS X'
9+
cp ./llvm-ar ./v8/third_party/llvm-build/Release+Asserts/bin
10+
NDK_BUILD_TOOLS_ARR=(
11+
$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/arm-linux-androideabi/bin \
12+
$ANDROID_NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/aarch64-linux-android/bin \
13+
$ANDROID_NDK_HOME/toolchains/x86-4.9/prebuilt/darwin-x86_64/i686-linux-android/bin \
14+
$ANDROID_NDK_HOME/toolchains/x86_64-4.9/prebuilt/darwin-x86_64/x86_64-linux-android/bin
15+
)
16+
;;
17+
18+
Linux)
19+
echo 'Linux'
20+
NDK_BUILD_TOOLS_ARR=($ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/bin \
21+
$ANDROID_NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/aarch64-linux-android/bin \
22+
$ANDROID_NDK_HOME/toolchains/x86-4.9/prebuilt/linux-x86_64/i686-linux-android/bin \
23+
$ANDROID_NDK_HOME/toolchains/x86_64-4.9/prebuilt/linux-x86_64/x86_64-linux-android/bin)
24+
;;
25+
26+
*)
27+
echo 'Unsupported OS'
28+
;;
2729
esac
2830

2931
# The order of CPU architectures in this array must be the same
@@ -45,7 +47,7 @@ do
4547
if [[ $BUILD_TYPE == "debug" ]] ;then
4648
gn gen $BUILD_DIR_PREFIX/$CURRENT_ARCH-$BUILD_TYPE --args="v8_use_snapshot=true v8_use_external_startup_data=false is_debug=true symbol_level=2 target_cpu=\"$CURRENT_ARCH\" v8_target_cpu=\"$CURRENT_ARCH\" v8_enable_i18n_support=false target_os=\"android\" v8_android_log_stdout=true"
4749
else
48-
gn gen $BUILD_DIR_PREFIX/$CURRENT_ARCH-$BUILD_TYPE --args="v8_use_snapshot=true v8_use_external_startup_data=false is_official_build=true is_debug=false symbol_level=0 target_cpu=\"$CURRENT_ARCH\" v8_target_cpu=\"$CURRENT_ARCH\" v8_enable_i18n_support=false target_os=\"android\" v8_android_log_stdout=true"
50+
gn gen $BUILD_DIR_PREFIX/$CURRENT_ARCH-$BUILD_TYPE --args="v8_enable_embedded_builtins=false v8_use_snapshot=true v8_use_external_startup_data=false is_official_build=true use_thin_lto=false is_debug=false symbol_level=0 target_cpu=\"$CURRENT_ARCH\" v8_target_cpu=\"$CURRENT_ARCH\" v8_enable_i18n_support=false target_os=\"android\" v8_android_log_stdout=true"
4951
fi
5052
done
5153

@@ -72,10 +74,6 @@ do
7274
eval $CURRENT_BUILD_TOOL/ar r $BUILD_DIR_PREFIX/$CURRENT_ARCH-$BUILD_TYPE/obj/$CURRENT_V8_FOLDER/lib$CURRENT_V8_FOLDER.a "${LAST_PARAM}"
7375
mv $BUILD_DIR_PREFIX/$CURRENT_ARCH-$BUILD_TYPE/obj/$CURRENT_V8_FOLDER/lib$CURRENT_V8_FOLDER.a $DIST/$CURRENT_ARCH-$BUILD_TYPE
7476
done
75-
76-
LAST_PARAM=${BUILD_DIR_PREFIX}/${CURRENT_ARCH}-${BUILD_TYPE}/obj/src/inspector/inspector/*.o
77-
eval $CURRENT_BUILD_TOOL/ar r $BUILD_DIR_PREFIX/$CURRENT_ARCH-$BUILD_TYPE/obj/src/inspector/inspector/libinspector.a "${LAST_PARAM}"
78-
mv $BUILD_DIR_PREFIX/$CURRENT_ARCH-$BUILD_TYPE/obj/src/inspector/inspector/libinspector.a $DIST/$CURRENT_ARCH-$BUILD_TYPE
7977
done
8078

8179
echo "=================================="

0 commit comments

Comments
 (0)