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

Side by Side Diff: test/cctest/test-code-stub-assembler.cc

Issue 2608893002: [builtins] Move LoadGlobalICStub to builtins (Closed)
Patch Set: Created 3 years, 11 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 unified diff | Download patch
« no previous file with comments | « test/cctest/test-api.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/base/utils/random-number-generator.h" 5 #include "src/base/utils/random-number-generator.h"
6 #include "src/builtins/builtins-promise.h" 6 #include "src/builtins/builtins-promise.h"
7 #include "src/code-factory.h" 7 #include "src/code-factory.h"
8 #include "src/code-stub-assembler.h" 8 #include "src/code-stub-assembler.h"
9 #include "src/compiler/node.h" 9 #include "src/compiler/node.h"
10 #include "src/isolate.h" 10 #include "src/isolate.h"
(...skipping 1742 matching lines...) Expand 10 before | Expand all | Expand 10 after
1753 1753
1754 template <typename Stub, typename... Args> 1754 template <typename Stub, typename... Args>
1755 void Recompile(Args... args) { 1755 void Recompile(Args... args) {
1756 Stub stub(args...); 1756 Stub stub(args...);
1757 stub.DeleteStubFromCacheForTesting(); 1757 stub.DeleteStubFromCacheForTesting();
1758 stub.GetCode(); 1758 stub.GetCode();
1759 } 1759 }
1760 1760
1761 } // namespace 1761 } // namespace
1762 1762
1763 TEST(CodeStubAssemblerGraphsCorrectness) {
1764 // The test does not work with interpreter because bytecode handlers taken
1765 // from the snapshot already refer to precompiled stubs from the snapshot
1766 // and there is no way to trigger bytecode handlers recompilation.
1767 if (FLAG_ignition || FLAG_turbo) return;
1768
1769 v8::Isolate::CreateParams create_params;
1770 create_params.array_buffer_allocator = CcTest::array_buffer_allocator();
1771 v8::Isolate* v8_isolate = v8::Isolate::New(create_params);
1772 Isolate* isolate = reinterpret_cast<Isolate*>(v8_isolate);
1773
1774 {
1775 v8::Isolate::Scope isolate_scope(v8_isolate);
1776 LocalContext env(v8_isolate);
1777 v8::HandleScope scope(v8_isolate);
1778
1779 FLAG_csa_verify = true;
1780
1781 // Recompile some stubs here.
1782 Recompile<LoadGlobalICStub>(isolate, LoadGlobalICState(NOT_INSIDE_TYPEOF));
1783 Recompile<LoadGlobalICTrampolineStub>(isolate,
1784 LoadGlobalICState(NOT_INSIDE_TYPEOF));
1785 }
1786 v8_isolate->Dispose();
1787 }
1788
1789 void CustomPromiseHook(v8::PromiseHookType type, v8::Local<v8::Promise> promise, 1763 void CustomPromiseHook(v8::PromiseHookType type, v8::Local<v8::Promise> promise,
1790 v8::Local<v8::Value> parentPromise) {} 1764 v8::Local<v8::Value> parentPromise) {}
1791 1765
1792 TEST(IsPromiseHookEnabled) { 1766 TEST(IsPromiseHookEnabled) {
1793 Isolate* isolate(CcTest::InitIsolateOnce()); 1767 Isolate* isolate(CcTest::InitIsolateOnce());
1794 1768
1795 const int kNumParams = 1; 1769 const int kNumParams = 1;
1796 CodeAssemblerTester data(isolate, kNumParams); 1770 CodeAssemblerTester data(isolate, kNumParams);
1797 CodeStubAssembler m(data.state()); 1771 CodeStubAssembler m(data.state());
1798 1772
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
2091 CHECK_EQ(isolate->heap()->empty_fixed_array(), fun->elements()); 2065 CHECK_EQ(isolate->heap()->empty_fixed_array(), fun->elements());
2092 CHECK_EQ(isolate->heap()->empty_literals_array(), fun->literals()); 2066 CHECK_EQ(isolate->heap()->empty_literals_array(), fun->literals());
2093 CHECK_EQ(isolate->heap()->the_hole_value(), fun->prototype_or_initial_map()); 2067 CHECK_EQ(isolate->heap()->the_hole_value(), fun->prototype_or_initial_map());
2094 CHECK_EQ(*isolate->promise_resolve_shared_fun(), fun->shared()); 2068 CHECK_EQ(*isolate->promise_resolve_shared_fun(), fun->shared());
2095 CHECK_EQ(isolate->promise_resolve_shared_fun()->code(), fun->code()); 2069 CHECK_EQ(isolate->promise_resolve_shared_fun()->code(), fun->code());
2096 CHECK_EQ(isolate->heap()->undefined_value(), fun->next_function_link()); 2070 CHECK_EQ(isolate->heap()->undefined_value(), fun->next_function_link());
2097 } 2071 }
2098 2072
2099 } // namespace internal 2073 } // namespace internal
2100 } // namespace v8 2074 } // namespace v8
OLDNEW
« no previous file with comments | « test/cctest/test-api.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698