Home | History | Annotate | Download | only in ia32

Lines Matching refs:Code

6 //     * Redistributions of source code must retain the above copyright
44 Code::Flags flags,
57 // Multiply by 3 because there are 3 fields per entry (name, code, map).
61 // Get the code entry from the cache.
74 __ mov(offset, FieldOperand(extra, Code::kFlagsOffset));
75 __ and_(offset, ~Code::kFlagsNotUsedInLookup);
87 // Jump to the first instruction in the code stub.
88 __ add(extra, Immediate(Code::kHeaderSize - kHeapObjectTag));
108 // Get the code entry from the cache.
112 __ mov(offset, FieldOperand(offset, Code::kFlagsOffset));
113 __ and_(offset, ~Code::kFlagsNotUsedInLookup);
125 // Restore offset and re-load code entry from cache.
129 // Jump to the first instruction in the code stub.
130 __ add(offset, Immediate(Code::kHeaderSize - kHeapObjectTag));
192 Code::Flags flags,
201 // Assert that code is valid. The multiplying code relies on the entry size
206 ASSERT(Code::ExtractTypeFromFlags(flags) == 0);
309 // Generate code to check if an object is a string. If the object is
556 Code::ExtraICState extra_state)
672 // Deferred code for fast API call case---clean preallocated space.
745 Code::ExtraICState extra_state_;
759 // Generate code to check that a global property cell is empty. Create
914 // TODO(verwaest): Share this code as a code stub.
1045 // TODO(verwaest): Share this code as a code stub.
1114 void StubCompiler::GenerateTailCall(MacroAssembler* masm, Handle<Code> code) {
1115 __ jmp(code, RelocInfo::CODE_TARGET);
1201 // in the code. Load it from the map.
1349 if (kind() == Code::LOAD_IC) {
1411 // Emitting a stub call may try to allocate (if the code is not
1462 // Compile the interceptor call, followed by inline code to load the
1469 // result. The CALLBACKS case needs the receiver to be passed into C++ code,
1503 // Clobber registers when generating debug-code to provoke errors.
1538 if (kind_ == Code::KEYED_CALL_IC) {
1598 Handle<Code> code =
1602 __ jmp(code, RelocInfo::CODE_TARGET);
1606 Handle<Code> CallStubCompiler::CompileCallField(Handle<JSObject> object,
1659 // Return the generated code.
1660 return GetCode(Code::FIELD, name);
1664 Handle<Code> CallStubCompiler::CompileArrayCodeCall(
1670 Code::StubType type) {
1705 // Return the generated code.
1710 Handle<Code> CallStubCompiler::CompileArrayPushCall(
1716 Code::StubType type) {
1727 return Handle<Code>::null();
1964 // Return the generated code.
1969 Handle<Code> CallStubCompiler::CompileArrayPopCall(
1975 Code::StubType type) {
1986 return Handle<Code>::null();
2047 // Return the generated code.
2052 Handle<Code> CallStubCompiler::CompileStringCharCodeAtCall(
2058 Code::StubType type) {
2069 return Handle<Code>::null();
2079 if (kind_ == Code::CALL_IC &&
2132 // Return the generated code.
2137 Handle<Code> CallStubCompiler::CompileStringCharAtCall(
2143 Code::StubType type) {
2154 return Handle<Code>::null();
2164 if (kind_ == Code::CALL_IC &&
2219 // Return the generated code.
2224 Handle<Code> CallStubCompiler::CompileStringFromCharCodeCall(
2230 Code::StubType type) {
2244 return Handle<Code>::null();
2263 // Load the char code argument.
2264 Register code = ebx;
2265 __ mov(code, Operand(esp, 1 * kPointerSize));
2267 // Check the code is a smi.
2270 __ JumpIfNotSmi(code, &slow);
2272 // Convert the smi code to uint16.
2273 __ and_(code, Immediate(Smi::FromInt(0xffff)));
2275 StringCharFromCodeGenerator generator(code, eax);
2296 // Return the generated code.
2301 Handle<Code> CallStubCompiler::CompileMathFloorCall(
2307 Code::StubType type) {
2317 return Handle<Code>::null();
2327 return Handle<Code>::null();
2428 // Return the generated code.
2433 Handle<Code> CallStubCompiler::CompileMathAbsCall(
2439 Code::StubType type) {
2453 return Handle<Code>::null();
2537 // Return the generated code.
2542 Handle<Code> CallStubCompiler::CompileFastApiCall(
2552 if (object->IsGlobalObject()) return Handle<Code>::null();
2553 if (!cell.is_null()) return Handle<Code>::null();
2554 if (!object->IsJSObject()) return Handle<Code>::null();
2557 if (depth == kInvalidProtoDepth) return Handle<Code>::null();
2596 // Return the generated code.
2719 Handle<Code> CallStubCompiler::CompileCallConstant(
2727 Code> code = CompileCustomCall(object, holder,
2730 Code::CONSTANT);
2731 // A null handle means bail out to the regular compiler code below.
2732 if (!code.is_null()) return code;
2741 // Return the generated code.
2746 Handle<Code> CallStubCompiler::CompileCallInterceptor(Handle<JSObject> object,
2800 // Return the generated code.
2801 return GetCode(Code::INTERCEPTOR, name);
2805 Handle<Code> CallStubCompiler::CompileCallGlobal(
2820 Handle<Code> code = CompileCustomCall(
2822 Code::NORMAL);
2823 // A null handle means bail out to the regular compiler code below.
2824 if (!code.is_null()) return code;
2844 // Jump to the cached code (tail call).
2851 // We call indirectly through the code field in the function to
2863 // Return the generated code.
2864 return GetCode(Code::NORMAL, name);
2868 Handle<Code> StoreStubCompiler::CompileStoreCallback(
2889 // Return the generated code.
2890 return GetCode(kind(), Code::CALLBACKS, name);
2922 // If we generate a global code snippet for deoptimization only, remember
2941 Handle<Code> StoreStubCompiler::CompileStoreInterceptor(
2956 // Return the generated code.
2957 return GetCode(kind(), Code::INTERCEPTOR, name);
2961 Handle<Code> StoreStubCompiler::CompileStoreGlobal(
2998 // Return the generated code.
2999 return GetICCode(kind(), Code::NORMAL, name);
3003 Handle<Code> KeyedStoreStubCompiler::CompileStorePolymorphic(
3025 // Return the generated code.
3027 kind(), Code::NORMAL, factory()->empty_string(), POLYMORPHIC);
3031 Handle<Code> LoadStubCompiler::CompileLoadNonexistent(
3046 // Return the generated code.
3047 return GetCode(kind(), Code::NONEXISTENT, name);
3117 // If we generate a global code snippet for deoptimization only, remember
3133 Handle<Code> LoadStubCompiler::CompileLoadGlobal(
3166 // The code above already loads the result into the return register.
3169 // Return the generated code.
3170 return GetICCode(kind(), Code::NORMAL, name);
3174 Handle<Code> BaseLoadStoreStubCompiler::CompilePolymorphicIC(
3178 Code::StubType type,
3204 // Return the generated code.
3398 // processors that don't support SSE2. The code in IntegerConvert
3399 // (code-stubs-ia32.cc) is roughly what is needed here though the