Lines Matching refs:Code
2 // Use of this source code is governed by a BSD-style license that can be
5 #include "src/code-stubs.h"
12 #include "src/code-factory.h"
13 #include "src/code-stub-assembler.h"
76 bool CodeStub::FindCodeInCache(Code** code_out) {
80 *code_out = Code::cast(stubs->ValueAt(index));
87 void CodeStub::RecordCodeGeneration(Handle<Code> code) {
92 AbstractCode::cast(*code), os.str().c_str()));
94 counters->total_stubs_code_size()->Increment(code->instruction_size());
96 code->VerifyEmbeddedObjects();
101 Code::Kind CodeStub::GetCodeKind() const {
102 return Code::STUB;
106 Code::Flags CodeStub::GetCodeFlags() const {
107 return Code::ComputeFlags(GetCodeKind(), GetExtraICState());
110 Handle<Code> CodeStub::GetCodeCopy(const FindAndReplacePattern& pattern) {
111 Handle<Code> ic = GetCode();
125 Handle<Code> PlatformCodeStub::GenerateCode() {
128 // Generate the new code.
132 // Update the static counter each time a new code stub is generated.
135 // Generate the code for the stub.
143 // Create the code object.
146 // Copy the generated code into a heap object.
147 Code::Flags flags = Code::ComputeFlags(GetCodeKind(), GetExtraICState());
148 Handle<Code> new_object = factory->NewCode(
154 Handle<Code> CodeStub::GetCode() {
156 Code* code;
157 if (UseSpecialCache() ? FindCodeInSpecialCache(&code)
158 : FindCodeInCache(&code)) {
159 DCHECK(GetCodeKind() == code->kind());
160 return Handle<Code>(code);
166 Handle<Code> new_object = GenerateCode();
193 code = *new_object;
196 Activate(code);
197 DCHECK(!NeedsImmovableCode() || Heap::IsImmovable(code) ||
198 heap->code_space()->FirstPage()->Contains(code->address()));
199 return Handle<Code>(code, isolate());
266 Handle<Code>* code_out = reinterpret_cast<Handle<Code>*>(value_out);
267 // Code stubs with special cache cannot be recreated from stub key.
268 *code_out = stub->UseSpecialCache() ? Handle<Code>() : stub->GetCode();
272 MaybeHandle<Code> CodeStub::GetCode(Isolate* isolate, uint32_t key) {
274 Handle<Code> code;
275 void** value_out = reinterpret_cast<void**>(&code);
277 return scope.CloseAndEscape(code);
433 Handle<Code> TurboFanCodeStub::GenerateCode() {
1546 // long as optimized code remains valid.
1558 // code will deopt when a cell has a unstable map and if it has a
1905 void JSEntryStub::FinishCode(Handle<Code> code) {
1907 code->GetIsolate()->factory()->NewFixedArray(1, TENURED);
1909 code->set_handler_table(*handler_table);
2307 // code. This musn't be a tail call for now, since the caller site in lithium