Home | History | Annotate | Download | only in src

Lines Matching refs:Code

6 //     * Redistributions of source code must retain the above copyright
38 // List of code stubs used on all platforms.
78 // List of code stubs only used on ARM platforms.
90 // List of code stubs only used on MIPS platforms.
99 // Combined list of code stubs.
121 // Retrieve the code for the stub. Generate the code if needed.
122 Handle<Code> GetCode();
131 // Gets the major key from a code object that is a code stub or binary op IC.
132 static Major GetMajorKey(Code* code_stub) {
142 Code* code = NULL;
143 CHECK(!is_pregenerated || FindCodeInCache(&code));
161 // Lookup the code in the (possibly custom) cache.
162 bool FindCodeInCache(Code** code_out);
170 // this function to set up the macro assembler and generate the code.
173 // Generates the assembler code for the stub.
176 // Perform bookkeeping required after code generation when stub code is
178 void RecordCodeGeneration(Code* code, MacroAssembler* masm);
180 // Finish the code object after it has been generated.
181 virtual void FinishCode(Handle<Code> code) { }
185 virtual void Activate(Code* code) { }
199 // Add the code to a specialized cache, specific to an individual
200 // stub type. Please note, this method must add the code object to a
201 // roots object, otherwise we will remove the code during GC.
202 virtual void AddToSpecialCache(Handle<Code> new_object) { }
204 // Find code in a specialized cache, work is delegated to the specific stub.
205 virtual bool FindCodeInSpecialCache(Code** code_out) { return false; }
214 // Returns whether the code generated for this stub needs to be allocated as
215 // a fixed (non-moveable) code object.
251 #include "ia32/code-stubs-ia32.h"
253 #include "x64/code-stubs-x64.h"
255 #include "arm/code-stubs-arm.h"
257 #include "mips/code-stubs-mips.h"
499 virtual void FinishCode(Handle<Code> code) {
500 code->set_compare_state(state_);
506 virtual int GetCodeKind() { return Code::COMPARE_IC; }
519 virtual void AddToSpecialCache(Handle<Code> new_object);
520 virtual bool FindCodeInSpecialCache(Code** code_out);
529 // Flags that control the compare stub code generation.
581 // Do generate the number comparison code in the stub. Stubs without number
582 // comparison code is used when the number comparison has been inlined, and
586 // Generate the comparison code for two smi operands in the stub.
609 virtual int GetCodeKind() { return Code::COMPARE_IC; }
610 virtual void FinishCode(Handle<Code> code) {
611 code->set_compare_state(CompareIC::GENERIC);
636 // their code generation. On machines that always have gp registers (x64) we
673 virtual void FinishCode(Handle<Code> code);
752 virtual void FinishCode(Handle<Code> code) {
753 code->set_has_function_cache(RecordCallTarget());
792 virtual void FinishCode(Handle<Code> code) {
793 code->set_has_function_cache(RecordCallTarget());
821 // Generates code implementing String.prototype.charCodeAt.
851 // Generates the fast case code. On the fallthrough path |result|
855 // Generates the slow case code. Must not be naturally
857 // deferred code). Always jumps back to the fast case.
881 // Generates code for creating a one-char string from a char code.
884 StringCharFromCodeGenerator(Register code,
886 : code_(code),
891 // Generates the fast case code. On the fallthrough path |result|
895 // Generates the slow case code. Must not be naturally
897 // deferred code). Always jumps back to the fast case.
912 // Generates code implementing String.prototype.charAt.
941 // Generates the fast case code. On the fallthrough path |result|
945 // Generates the slow case code. Must not be naturally
947 // deferred code). Always jumps back to the fast case.
1039 // At most 8 different types can be distinguished, because the Code object
1069 virtual int GetCodeKind() { return Code::TO_BOOLEAN_IC; }
1076 int MinorKey() { return (tos_.code() << NUMBER_OF_TYPES) | types_.ToByte(); }
1078 virtual void FinishCode(Handle<Code> code) {
1079 code->set_to_boolean_state(types_.ToByte());