Revert of [Interpreter] Remove separate Ignition snapshot. (patchset #2 id:20001 of https://codereview.chromium.org/1833643002/ )
Reason for revert: Makes nosnap bots timeout due to having to rebuild bytecode handlers. Original issue's description: > [Interpreter] Remove separate Ignition snapshot. > > Removes the seperate Ignition snapshot and build the Ignition bytecode > handlers in the default snapshot. > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/1798f3fe84faff32ba44e09f6aed79245dd98d80 > Cr-Commit-Position: refs/heads/master@{#35058} TBR=machenbach@google.com,yangguo@chromium.org,mstarzinger@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280 Review URL: https://codereview.chromium.org/1827143002 Cr-Commit-Position: refs/heads/master@{#35059}
This commit is contained in:
parent
1798f3fe84
commit
bdf953b5cc
4
BUILD.gn
4
BUILD.gn
@ -187,7 +187,7 @@ config("toolchain") {
|
||||
}
|
||||
if (v8_target_arch == "s390") {
|
||||
defines += [ "V8_TARGET_ARCH_S390" ]
|
||||
}
|
||||
}
|
||||
if (v8_target_arch == "s390x") {
|
||||
defines += [
|
||||
"V8_TARGET_ARCH_S390",
|
||||
@ -200,7 +200,7 @@ config("toolchain") {
|
||||
if (v8_target_arch == "x64") {
|
||||
defines += [ "V8_TARGET_ARCH_X64" ]
|
||||
}
|
||||
|
||||
|
||||
if (is_win) {
|
||||
defines += [ "WIN32" ]
|
||||
# TODO(jochen): Support v8_enable_prof.
|
||||
|
@ -81,6 +81,7 @@
|
||||
'--config-variable', 'component=<(component)',
|
||||
'--config-variable', 'target_arch=<(target_arch)',
|
||||
'--config-variable', 'use_custom_libcxx=<(use_custom_libcxx)',
|
||||
'--config-variable', 'v8_separate_ignition_snapshot=<(v8_separate_ignition_snapshot)',
|
||||
'--config-variable', 'v8_use_external_startup_data=<(v8_use_external_startup_data)',
|
||||
'--config-variable', 'v8_use_snapshot=<(v8_use_snapshot)',
|
||||
],
|
||||
|
@ -194,6 +194,9 @@
|
||||
# their own default value.
|
||||
'v8_use_external_startup_data%': 1,
|
||||
|
||||
# Use a separate ignition snapshot file in standalone builds.
|
||||
'v8_separate_ignition_snapshot': 1,
|
||||
|
||||
# Relative path to icu.gyp from this file.
|
||||
'icu_gyp_path': '../third_party/icu/icu.gyp',
|
||||
|
||||
|
@ -81,6 +81,9 @@
|
||||
# The setting is ignored if want_separate_host_toolset is 0.
|
||||
'v8_toolset_for_d8%': 'target',
|
||||
|
||||
# Control usage of a separate ignition snapshot file.
|
||||
'v8_separate_ignition_snapshot%': 0,
|
||||
|
||||
'host_os%': '<(OS)',
|
||||
'werror%': '-Werror',
|
||||
# For a shared library build, results in "libv8-<(soname_version).so".
|
||||
|
@ -22,6 +22,13 @@
|
||||
],
|
||||
},
|
||||
}],
|
||||
['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and v8_separate_ignition_snapshot==1', {
|
||||
'variables': {
|
||||
'files': [
|
||||
'<(PRODUCT_DIR)/snapshot_blob_ignition.bin',
|
||||
],
|
||||
},
|
||||
}],
|
||||
['OS=="linux" and component=="shared_library" and target_arch=="ia32"', {
|
||||
'variables': {
|
||||
'files': [
|
||||
|
@ -28,6 +28,7 @@ Interpreter::Interpreter(Isolate* isolate) : isolate_(isolate) {
|
||||
}
|
||||
|
||||
void Interpreter::Initialize() {
|
||||
DCHECK(FLAG_ignition);
|
||||
if (IsDispatchTableInitialized()) return;
|
||||
Zone zone;
|
||||
HandleScope scope(isolate_);
|
||||
|
@ -2256,7 +2256,10 @@ bool Isolate::Init(Deserializer* des) {
|
||||
des->Deserialize(this);
|
||||
}
|
||||
stub_cache_->Initialize();
|
||||
interpreter_->Initialize();
|
||||
|
||||
if (FLAG_ignition) {
|
||||
interpreter_->Initialize();
|
||||
}
|
||||
|
||||
// Finish initialization of ThreadLocal after deserialization is done.
|
||||
clear_pending_exception();
|
||||
|
@ -9,6 +9,7 @@
|
||||
|
||||
#include "src/base/logging.h"
|
||||
#include "src/base/platform/platform.h"
|
||||
#include "src/flags.h"
|
||||
#include "src/utils.h"
|
||||
|
||||
|
||||
@ -107,7 +108,9 @@ void InitializeExternalStartupData(const char* directory_path) {
|
||||
char* natives;
|
||||
char* snapshot;
|
||||
LoadFromFiles(RelativePath(&natives, directory_path, "natives_blob.bin"),
|
||||
RelativePath(&snapshot, directory_path, "snapshot_blob.bin"));
|
||||
RelativePath(&snapshot, directory_path,
|
||||
FLAG_ignition ? "snapshot_blob_ignition.bin"
|
||||
: "snapshot_blob.bin"));
|
||||
free(natives);
|
||||
free(snapshot);
|
||||
#endif // V8_USE_EXTERNAL_STARTUP_DATA
|
||||
|
@ -85,6 +85,8 @@ class BytecodeGraphTester {
|
||||
SNPrintF(ignition_filter, "--ignition-filter=%s", filter);
|
||||
FlagList::SetFlagsFromString(ignition_filter.start(),
|
||||
ignition_filter.length());
|
||||
// Ensure handler table is generated.
|
||||
isolate->interpreter()->Initialize();
|
||||
}
|
||||
virtual ~BytecodeGraphTester() {}
|
||||
|
||||
|
@ -29,6 +29,8 @@ InterpreterTester::InterpreterTester(
|
||||
SNPrintF(ignition_filter, "--ignition-filter=%s", filter);
|
||||
FlagList::SetFlagsFromString(ignition_filter.start(),
|
||||
ignition_filter.length());
|
||||
// Ensure handler table is generated.
|
||||
isolate->interpreter()->Initialize();
|
||||
}
|
||||
|
||||
InterpreterTester::InterpreterTester(
|
||||
|
@ -74,6 +74,7 @@ class InitializedIgnitionHandleScope : public InitializedHandleScope {
|
||||
i::FLAG_ignition = true;
|
||||
i::FLAG_always_opt = false;
|
||||
i::FLAG_allow_natives_syntax = true;
|
||||
CcTest::i_isolate()->interpreter()->Initialize();
|
||||
}
|
||||
};
|
||||
|
||||
|
102
tools/gyp/v8.gyp
102
tools/gyp/v8.gyp
@ -121,18 +121,30 @@
|
||||
}],
|
||||
['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==0', {
|
||||
'dependencies': ['v8_base', 'v8_external_snapshot'],
|
||||
'inputs': [ '<(PRODUCT_DIR)/snapshot_blob.bin', ],
|
||||
'inputs': ['<(PRODUCT_DIR)/snapshot_blob.bin'],
|
||||
'conditions': [
|
||||
['v8_separate_ignition_snapshot==1', {
|
||||
'inputs': ['<(PRODUCT_DIR)/snapshot_blob_ignition.bin'],
|
||||
}],
|
||||
]
|
||||
}],
|
||||
['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==1', {
|
||||
'dependencies': ['v8_base', 'v8_external_snapshot'],
|
||||
'target_conditions': [
|
||||
['_toolset=="host"', {
|
||||
'inputs': [
|
||||
'<(PRODUCT_DIR)/snapshot_blob_host.bin',
|
||||
],
|
||||
'inputs': ['<(PRODUCT_DIR)/snapshot_blob_host.bin'],
|
||||
}, {
|
||||
'inputs': [
|
||||
'<(PRODUCT_DIR)/snapshot_blob.bin',
|
||||
'inputs': ['<(PRODUCT_DIR)/snapshot_blob.bin'],
|
||||
}],
|
||||
],
|
||||
'conditions': [
|
||||
['v8_separate_ignition_snapshot==1', {
|
||||
'target_conditions': [
|
||||
['_toolset=="host"', {
|
||||
'inputs': ['<(PRODUCT_DIR)/snapshot_blob_ignition_host.bin'],
|
||||
}, {
|
||||
'inputs': ['<(PRODUCT_DIR)/snapshot_blob_ignition.bin'],
|
||||
}],
|
||||
],
|
||||
}],
|
||||
],
|
||||
@ -286,6 +298,68 @@
|
||||
],
|
||||
},
|
||||
}],
|
||||
# Extra snapshot blob for ignition.
|
||||
['v8_separate_ignition_snapshot==1', {
|
||||
# This is concatenated to the other actions list of
|
||||
# v8_external_snapshot.
|
||||
'actions': [
|
||||
{
|
||||
'action_name': 'run_mksnapshot (ignition)',
|
||||
'inputs': ['<(mksnapshot_exec)'],
|
||||
'variables': {
|
||||
# TODO: Extract common mksnapshot_flags to a separate
|
||||
# variable.
|
||||
'mksnapshot_flags_ignition': [
|
||||
'--ignition',
|
||||
'--log-snapshot-positions',
|
||||
'--logfile', '<(INTERMEDIATE_DIR)/snapshot_ignition.log',
|
||||
],
|
||||
'conditions': [
|
||||
['v8_random_seed!=0', {
|
||||
'mksnapshot_flags_ignition': ['--random-seed', '<(v8_random_seed)'],
|
||||
}],
|
||||
['v8_vector_stores!=0', {
|
||||
'mksnapshot_flags_ignition': ['--vector-stores'],
|
||||
}],
|
||||
],
|
||||
},
|
||||
'conditions': [
|
||||
['want_separate_host_toolset==1', {
|
||||
'target_conditions': [
|
||||
['_toolset=="host"', {
|
||||
'outputs': ['<(PRODUCT_DIR)/snapshot_blob_ignition_host.bin'],
|
||||
'action': [
|
||||
'<(mksnapshot_exec)',
|
||||
'<@(mksnapshot_flags_ignition)',
|
||||
'--startup_blob', '<(PRODUCT_DIR)/snapshot_blob_ignition_host.bin',
|
||||
'<(embed_script)',
|
||||
'<(warmup_script)',
|
||||
],
|
||||
}, {
|
||||
'outputs': ['<(PRODUCT_DIR)/snapshot_blob_ignition.bin'],
|
||||
'action': [
|
||||
'<(mksnapshot_exec)',
|
||||
'<@(mksnapshot_flags_ignition)',
|
||||
'--startup_blob', '<(PRODUCT_DIR)/snapshot_blob_ignition.bin',
|
||||
'<(embed_script)',
|
||||
'<(warmup_script)',
|
||||
],
|
||||
}],
|
||||
],
|
||||
}, {
|
||||
'outputs': ['<(PRODUCT_DIR)/snapshot_blob_ignition.bin'],
|
||||
'action': [
|
||||
'<(mksnapshot_exec)',
|
||||
'<@(mksnapshot_flags_ignition)',
|
||||
'--startup_blob', '<(PRODUCT_DIR)/snapshot_blob_ignition.bin',
|
||||
'<(embed_script)',
|
||||
'<(warmup_script)',
|
||||
],
|
||||
}],
|
||||
],
|
||||
},
|
||||
],
|
||||
}],
|
||||
],
|
||||
'dependencies': [
|
||||
'v8_base',
|
||||
@ -300,9 +374,7 @@
|
||||
'actions': [
|
||||
{
|
||||
'action_name': 'run_mksnapshot (external)',
|
||||
'inputs': [
|
||||
'<(mksnapshot_exec)',
|
||||
],
|
||||
'inputs': ['<(mksnapshot_exec)'],
|
||||
'variables': {
|
||||
'mksnapshot_flags': [
|
||||
'--log-snapshot-positions',
|
||||
@ -321,9 +393,7 @@
|
||||
['want_separate_host_toolset==1', {
|
||||
'target_conditions': [
|
||||
['_toolset=="host"', {
|
||||
'outputs': [
|
||||
'<(PRODUCT_DIR)/snapshot_blob_host.bin',
|
||||
],
|
||||
'outputs': ['<(PRODUCT_DIR)/snapshot_blob_host.bin'],
|
||||
'action': [
|
||||
'<(mksnapshot_exec)',
|
||||
'<@(mksnapshot_flags)',
|
||||
@ -332,9 +402,7 @@
|
||||
'<(warmup_script)',
|
||||
],
|
||||
}, {
|
||||
'outputs': [
|
||||
'<(PRODUCT_DIR)/snapshot_blob.bin',
|
||||
],
|
||||
'outputs': ['<(PRODUCT_DIR)/snapshot_blob.bin'],
|
||||
'action': [
|
||||
'<(mksnapshot_exec)',
|
||||
'<@(mksnapshot_flags)',
|
||||
@ -345,9 +413,7 @@
|
||||
}],
|
||||
],
|
||||
}, {
|
||||
'outputs': [
|
||||
'<(PRODUCT_DIR)/snapshot_blob.bin',
|
||||
],
|
||||
'outputs': ['<(PRODUCT_DIR)/snapshot_blob.bin'],
|
||||
'action': [
|
||||
'<(mksnapshot_exec)',
|
||||
'<@(mksnapshot_flags)',
|
||||
|
Loading…
Reference in New Issue
Block a user