Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(472)

Unified Diff: test/unittests/compiler-dispatcher/compiler-dispatcher-job-unittest.cc

Issue 2358503002: Change the CompilerDispatcherJob to take a SharedFunctionInfo (Closed)
Patch Set: updates Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/runtime/runtime-function.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/unittests/compiler-dispatcher/compiler-dispatcher-job-unittest.cc
diff --git a/test/unittests/compiler-dispatcher/compiler-dispatcher-job-unittest.cc b/test/unittests/compiler-dispatcher/compiler-dispatcher-job-unittest.cc
index 589996989983ea033ea7ad325de486b0689b778f..d4c54247e274342a449df72acbc42fefecea3343 100644
--- a/test/unittests/compiler-dispatcher/compiler-dispatcher-job-unittest.cc
+++ b/test/unittests/compiler-dispatcher/compiler-dispatcher-job-unittest.cc
@@ -30,6 +30,7 @@ class IgnitionCompilerDispatcherJobTest : public TestWithContext {
static void SetUpTestCase() {
old_flag_ = i::FLAG_ignition;
i::FLAG_ignition = true;
+ i::FLAG_never_compact = true;
TestWithContext::SetUpTestCase();
}
@@ -65,7 +66,7 @@ class ScriptResource : public v8::String::ExternalOneByteStringResource {
DISALLOW_COPY_AND_ASSIGN(ScriptResource);
};
-Handle<JSFunction> CreateFunction(
+Handle<SharedFunctionInfo> CreateSharedFunctionInfo(
Isolate* isolate, ExternalOneByteString::Resource* maybe_resource) {
HandleScope scope(isolate);
Handle<String> source;
@@ -82,10 +83,8 @@ Handle<JSFunction> CreateFunction(
isolate->builtins()->CompileLazy(), false);
SharedFunctionInfo::SetScript(shared, script);
shared->set_end_position(source->length());
- Handle<JSFunction> function =
- isolate->factory()->NewFunctionFromSharedFunctionInfo(
- shared, handle(isolate->context(), isolate));
- return scope.CloseAndEscape(function);
+ shared->set_outer_scope_info(ScopeInfo::Empty(isolate));
+ return scope.CloseAndEscape(shared);
}
Handle<Object> RunJS(v8::Isolate* isolate, const char* script) {
@@ -103,26 +102,30 @@ Handle<Object> RunJS(v8::Isolate* isolate, const char* script) {
TEST_F(CompilerDispatcherJobTest, Construct) {
std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
- i_isolate(), CreateFunction(i_isolate(), nullptr), FLAG_stack_size));
+ i_isolate(), CreateSharedFunctionInfo(i_isolate(), nullptr),
+ FLAG_stack_size));
}
TEST_F(CompilerDispatcherJobTest, CanParseOnBackgroundThread) {
{
std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
- i_isolate(), CreateFunction(i_isolate(), nullptr), FLAG_stack_size));
+ i_isolate(), CreateSharedFunctionInfo(i_isolate(), nullptr),
+ FLAG_stack_size));
ASSERT_FALSE(job->can_parse_on_background_thread());
}
{
ScriptResource script(test_script, strlen(test_script));
std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
- i_isolate(), CreateFunction(i_isolate(), &script), FLAG_stack_size));
+ i_isolate(), CreateSharedFunctionInfo(i_isolate(), &script),
+ FLAG_stack_size));
ASSERT_TRUE(job->can_parse_on_background_thread());
}
}
TEST_F(CompilerDispatcherJobTest, StateTransitions) {
std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
- i_isolate(), CreateFunction(i_isolate(), nullptr), FLAG_stack_size));
+ i_isolate(), CreateSharedFunctionInfo(i_isolate(), nullptr),
+ FLAG_stack_size));
ASSERT_TRUE(job->status() == CompileJobStatus::kInitial);
job->PrepareToParseOnMainThread();
@@ -144,7 +147,8 @@ TEST_F(CompilerDispatcherJobTest, StateTransitions) {
TEST_F(CompilerDispatcherJobTest, SyntaxError) {
ScriptResource script("^^^", strlen("^^^"));
std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
- i_isolate(), CreateFunction(i_isolate(), &script), FLAG_stack_size));
+ i_isolate(), CreateSharedFunctionInfo(i_isolate(), &script),
+ FLAG_stack_size));
job->PrepareToParseOnMainThread();
job->Parse();
@@ -160,12 +164,12 @@ TEST_F(CompilerDispatcherJobTest, SyntaxError) {
TEST_F(CompilerDispatcherJobTest, ScopeChain) {
const char script[] =
- "function g() { var g = 1; function f(x) { return x * g }; return f; } "
+ "function g() { var y = 1; function f(x) { return x * y }; return f; } "
"g();";
Handle<JSFunction> f = Handle<JSFunction>::cast(RunJS(isolate(), script));
- std::unique_ptr<CompilerDispatcherJob> job(
- new CompilerDispatcherJob(i_isolate(), f, FLAG_stack_size));
+ std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
+ i_isolate(), handle(f->shared()), FLAG_stack_size));
job->PrepareToParseOnMainThread();
job->Parse();
@@ -179,9 +183,9 @@ TEST_F(CompilerDispatcherJobTest, ScopeChain) {
ASSERT_TRUE(var);
ASSERT_TRUE(var->IsParameter());
- const AstRawString* var_g =
- job->parse_info_->ast_value_factory()->GetOneByteString("g");
- var = job->parse_info_->literal()->scope()->Lookup(var_g);
+ const AstRawString* var_y =
+ job->parse_info_->ast_value_factory()->GetOneByteString("y");
+ var = job->parse_info_->literal()->scope()->Lookup(var_y);
ASSERT_TRUE(var);
ASSERT_TRUE(var->IsContextSlot());
@@ -200,8 +204,8 @@ TEST_F(CompilerDispatcherJobTest, CompileAndRun) {
"}\n"
"g();";
Handle<JSFunction> f = Handle<JSFunction>::cast(RunJS(isolate(), script));
- std::unique_ptr<CompilerDispatcherJob> job(
- new CompilerDispatcherJob(i_isolate(), f, FLAG_stack_size));
+ std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
+ i_isolate(), handle(f->shared()), FLAG_stack_size));
job->PrepareToParseOnMainThread();
job->Parse();
@@ -226,7 +230,7 @@ TEST_F(CompilerDispatcherJobTest, CompileFailureToPrepare) {
raw_script += " 'x'; }";
ScriptResource script(raw_script.c_str(), strlen(raw_script.c_str()));
std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
- i_isolate(), CreateFunction(i_isolate(), &script), 100));
+ i_isolate(), CreateSharedFunctionInfo(i_isolate(), &script), 100));
job->PrepareToParseOnMainThread();
job->Parse();
@@ -248,7 +252,7 @@ TEST_F(CompilerDispatcherJobTest, CompileFailureToFinalize) {
raw_script += " 'x'; }";
ScriptResource script(raw_script.c_str(), strlen(raw_script.c_str()));
std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
- i_isolate(), CreateFunction(i_isolate(), &script), 50));
+ i_isolate(), CreateSharedFunctionInfo(i_isolate(), &script), 50));
job->PrepareToParseOnMainThread();
job->Parse();
@@ -291,7 +295,7 @@ TEST_F(IgnitionCompilerDispatcherJobTest, CompileOnBackgroundThread) {
"}";
ScriptResource script(raw_script, strlen(raw_script));
std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
- i_isolate(), CreateFunction(i_isolate(), &script), 100));
+ i_isolate(), CreateSharedFunctionInfo(i_isolate(), &script), 100));
job->PrepareToParseOnMainThread();
job->Parse();
« no previous file with comments | « src/runtime/runtime-function.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698