Lines Matching defs:code
2 // Use of this source code is governed by a BSD-style license that can be
11 #include "src/codegen/code-factory.h"
28 #include "src/wasm/wasm-code-manager.h"
281 // The code below supports all five initial value generators, and
351 // non-isolate-independent code. In many cases it might be cheaper than
770 // The instruction would be a nop. Avoid generating useless code.
1684 Handle<CodeT> code =
1686 Call(code, RelocInfo::CODE_TARGET);
1693 Handle<CodeT> code =
1696 Jump(code, RelocInfo::CODE_TARGET);
1711 // should remove this need and make the runtime routine entry code
1768 // See x64 code for reasoning about how to address the isolate data fields.
1868 // * the offset of the target from the code range start, if this is a call to
1882 // from JIT-compiled code (it's not used during snapshot creation).
1883 // The value is encoded as an offset from the code range (see
1903 void TurboAssembler::Jump(Handle<CodeT> code, RelocInfo::Mode rmode,
1907 Builtins::IsIsolateIndependentBuiltin(FromCodeT(*code)));
1911 if (isolate()->builtins()->IsBuiltinHandle(code, &builtin)) {
1920 EmbeddedObjectIndex index = AddEmbeddedObject(code);
1924 Jump(code.address(), rmode, cond);
1951 void TurboAssembler::Call(Handle<CodeT> code, RelocInfo::Mode rmode) {
1953 Builtins::IsIsolateIndependentBuiltin(FromCodeT(*code)));
1958 if (isolate()->builtins()->IsBuiltinHandle(code, &builtin)) {
1965 DCHECK(FromCodeT(*code).IsExecutable());
1967 EmbeddedObjectIndex index = AddEmbeddedObject(code);
1971 IndirectCall(code.address(), rmode);
2048 // The control flow integrity (CFI) feature allows us to "sign" code entry
2056 // (i.e. `bti j`) landing pads for the tail-called code.
2073 // builtin code (which will later be embedded into the binary) or compiling
2074 // user JS code at runtime.
2075 // * Builtin code runs in --jitless mode and thus must not call into on-heap
2079 // targets are usually generated code and not builtin Code objects.
2184 void TurboAssembler::LoadCodeTEntry(Register destination, Register code) {
2187 LoadCodeDataContainerEntry(destination, code);
2189 Add(destination, code, Operand(Code::kHeaderSize - kHeapObjectTag));
2193 void TurboAssembler::CallCodeTObject(Register code) {
2195 CallCodeDataContainerObject(code);
2197 CallCodeObject(code);
2201 void TurboAssembler::JumpCodeTObject(Register code, JumpMode jump_mode) {
2203 JumpCodeDataContainerObject(code, jump_mode);
2205 JumpCodeObject(code, jump_mode);
2214 // Note that this assumes the caller code (i.e. the Code object currently
2461 // We call indirectly through the code field in the function to
2464 Register code = kJavaScriptCallCodeStartRegister;
2465 LoadTaggedPointerField(code,
2469 CallCodeTObject(code);
2472 JumpCodeTObject(code);
2792 // Also emit debug code to clear the cp in the top frame.
3399 // We don't actually want to generate a pile of code for this, so just
3549 // To make the code as portable as possible, the format string is encoded
3644 if (arg0_sp) arg0 = Register::Create(arg_sp.code(), arg0.SizeInBits());
3645 if (arg1_sp) arg1 = Register::Create(arg_sp.code(), arg1.SizeInBits());
3646 if (arg2_sp) arg2 = Register::Create(arg_sp.code(), arg2.SizeInBits());
3647 if (arg3_sp) arg3 = Register::Create(arg_sp.code(), arg3.SizeInBits());
3682 int code = AcquireNextAvailable(available_).code();
3683 return Register::Create(code, reg.SizeInBits());
3687 int code = AcquireNextAvailable(availablefp_).code();
3688 return VRegister::Create(code, reg.SizeInBits());