Home | History | Annotate | Download | only in x64

Lines Matching refs:Code

6 //     * Redistributions of source code must retain the above copyright
44 Code::Flags flags,
63 // Multiply by 3 because there are 3 fields per entry (name, code, map).
82 // Get the code entry from the cache.
88 __ movl(offset, FieldOperand(kScratchRegister, Code::kFlagsOffset));
89 __ and_(offset, Immediate(~Code::kFlagsNotUsedInLookup));
101 // Jump to the first instruction in the code stub.
102 __ addq(kScratchRegister, Immediate(Code::kHeaderSize - kHeapObjectTag));
161 Code::Flags flags,
173 // Make sure that code is valid. The multiplying code relies on the
178 ASSERT(Code::ExtractTypeFromFlags(flags) == 0);
283 // Generate code to check if an object is a string. If the object is
515 Code::ExtraICState extra_ic_state)
629 // Deferred code for fast API call case---clean preallocated space.
702 Code::ExtraICState extra_ic_state_;
706 void StubCompiler::GenerateLoadMiss(MacroAssembler* masm, Code::Kind kind) {
707 ASSERT(kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC);
708 Handle<Code> code = (kind == Code::LOAD_IC)
711 __ Jump(code, RelocInfo::CODE_TARGET);
716 Handle<Code> code =
718 __ Jump(code, RelocInfo::CODE_TARGET);
804 // Generate code to check that a global property cell is empty. Create
917 // in the code. Load it from the map.
1099 // Compile the interceptor call, followed by inline code to load the
1109 // result. The CALLBACKS case needs the receiver to be passed into C++ code,
1182 // Important invariant in CALLBACKS case: the code above must be
1217 if (kind_ == Code::KEYED_CALL_IC) {
1273 Handle<Code> code =
1277 __ Jump(code, RelocInfo::CODE_TARGET);
1281 Handle<Code> CallStubCompiler::CompileCallField(Handle<JSObject> object,
1334 // Return the generated code.
1339 Handle<Code> CallStubCompiler::CompileArrayPushCall(
1354 if (!object->IsJSArray() || !cell.is_null()) return Handle<Code>::null();
1534 // Return the generated code.
1539 Handle<Code> CallStubCompiler::CompileArrayPopCall(
1554 if (!object->IsJSArray() || !cell.is_null()) return Handle<Code>::null();
1615 // Return the generated code.
1620 Handle<Code> CallStubCompiler::CompileStringCharCodeAtCall(
1635 if (!object->IsString() || !cell.is_null()) return Handle<Code>::null();
1643 if (kind_ == Code::CALL_IC &&
1694 // Return the generated code.
1699 Handle<Code> CallStubCompiler::CompileStringCharAtCall(
1714 if (!object->IsString() || !cell.is_null()) return Handle<Code
1721 if (kind_ == Code::CALL_IC &&
1773 // Return the generated code.
1778 Handle<Code> CallStubCompiler::CompileStringFromCharCodeCall(
1795 if (!object->IsJSObject() || argc != 1) return Handle<Code>::null();
1812 // Load the char code argument.
1813 Register code = rbx;
1814 __ movq(code, Operand(rsp, 1 * kPointerSize));
1816 // Check the code is a smi.
1818 __ JumpIfNotSmi(code, &slow);
1820 // Convert the smi code to uint16.
1821 __ SmiAndConstant(code, code, Smi::FromInt(0xffff));
1823 StringCharFromCodeGenerator generator(code, rax);
1843 // Return the generated code.
1848 Handle<Code> CallStubCompiler::CompileMathFloorCall(
1855 return Handle<Code>::null();
1859 Handle<Code> CallStubCompiler::CompileMathAbsCall(
1876 if (!object->IsJSObject() || argc != 1) return Handle<Code>::null();
1958 // Return the generated code.
1963 Handle<Code> CallStubCompiler::CompileFastApiCall(
1973 if (object->IsGlobalObject()) return Handle<Code>::null();
1974 if (!cell.is_null()) return Handle<Code>::null();
1975 if (!object->IsJSObject()) return Handle<Code>::null();
1978 if (depth == kInvalidProtoDepth) return Handle<Code>::null();
2014 // Return the generated code.
2019 Handle<Code> CallStubCompiler::CompileCallConstant(Handle<Object> object,
2035 Handle<Code> code = CompileCustomCall(object, holder,
2038 // A null handle means bail out to the regular compiler code below.
2039 if (!code.is_null()) return code;
2147 // Return the generated code.
2152 Handle<Code> CallStubCompiler::CompileCallInterceptor(Handle<JSObject> object,
2207 // Return the generated code.
2212 Handle<Code> CallStubCompiler::CompileCallGlobal(
2229 Handle<Code> code = CompileCustomCall(object, holder, cell, function, name);
2230 // A null handle means bail out to the regular compiler code below.
2231 if (!code.is_null()) return code;
2251 // Jump to the cached code (tail call).
2258 // We call indirectly through the code field in the function to
2270 // Return the generated code.
2275 Handle<Code> StoreStubCompiler::CompileStoreField(Handle<JSObject> object,
2287 // Generate store field code. Preserves receiver and name on jump to miss.
2292 Handle<Code> ic = isolate()->builtins()->StoreIC_Miss();
2295 // Return the generated code.
2300 Handle<Code> StoreStubCompiler::CompileStoreCallback(
2339 Handle<Code> ic = isolate()->builtins()->StoreIC_Miss();
2342 // Return the generated code.
2347 Handle<Code> StoreStubCompiler::CompileStoreInterceptor(
2385 Handle<Code> ic = isolate()->builtins()->StoreIC_Miss();
2388 // Return the generated code.
2393 Handle<Code> StoreStubCompiler::CompileStoreGlobal(
2433 Handle<Code> ic = isolate()->builtins()->StoreIC_Miss();
2436 // Return the generated code.
2441 Handle<Code> KeyedStoreStubCompiler::CompileStoreField(Handle<JSObject> object,
2460 // Generate store field code. Preserves receiver and name on jump to miss.
2466 Handle<Code> ic = isolate()->builtins()->KeyedStoreIC_Miss();
2469 // Return the generated code.
2474 Handle<Code> KeyedStoreStubCompiler::CompileStoreElement(
2485 Handle<Code> stub =
2490 Handle<Code> ic = isolate()->builtins()->KeyedStoreIC_Miss();
2493 // Return the generated code.
2498 Handle<Code> KeyedStoreStubCompiler::CompileStorePolymorphic(
2528 Handle<Code> ic = isolate()->builtins()->KeyedStoreIC_Miss();
2531 // Return the generated code.
2536 Handle<Code> LoadStubCompiler::CompileLoadNonexistent(Handle<String> name,
2567 GenerateLoadMiss(masm(), Code::LOAD_IC);
2569 // Return the generated code.
2574 Handle<Code> LoadStubCompiler::CompileLoadField(Handle<JSObject> object,
2587 GenerateLoadMiss(masm(), Code::LOAD_IC);
2589 // Return the generated code.
2594 Handle<Code> LoadStubCompiler::CompileLoadCallback(
2608 GenerateLoadMiss(masm(), Code::LOAD_IC);
2610 // Return the generated code.
2615 Handle<Code> LoadStubCompiler::CompileLoadConstant(Handle<JSObject> object,
2628 GenerateLoadMiss(masm(), Code::LOAD_IC);
2630 // Return the generated code.
2635 Handle<Code> LoadStubCompiler::CompileLoadInterceptor(Handle<JSObject> receiver,
2652 GenerateLoadMiss(masm(), Code::LOAD_IC);
2654 // Return the generated code.
2659 Handle<Code> LoadStubCompiler::CompileLoadGlobal(
2696 GenerateLoadMiss(masm(), Code::LOAD_IC);
2698 // Return the generated code.
2703 Handle<Code> KeyedLoadStubCompiler::CompileLoadField(Handle<String> name,
2725 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC);
2727 // Return the generated code.
2732 Handle<Code> KeyedLoadStubCompiler::CompileLoadCallback(
2754 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC);
2756 // Return the generated code.
2761 Handle<Code> KeyedLoadStubCompiler::CompileLoadConstant(
2784 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC);
2786 // Return the generated code.
2791 Handle<Code> KeyedLoadStubCompiler::CompileLoadInterceptor(
2814 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC);
2816 // Return the generated code.
2821 Handle<Code> KeyedLoadStubCompiler::CompileLoadArrayLength(
2840 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC);
2842 // Return the generated code.
2847 Handle<Code> KeyedLoadStubCompiler::CompileLoadStringLength(
2866 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC);
2868 // Return the generated code.
2873 Handle<Code> KeyedLoadStubCompiler::CompileLoadFunctionPrototype(
2892 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC);
2894 // Return the generated code.
2899 Handle<Code> KeyedLoadStubCompiler::CompileLoadElement(
2907 Handle<Code> stub = KeyedLoadElementStub(elements_kind).GetCode();
2911 Handle<Code> ic = isolate()->builtins()->KeyedLoadIC_Miss();
2914 // Return the generated code.
2919 Handle<Code> KeyedLoadStubCompiler::CompileLoadPolymorphic(
2940 GenerateLoadMiss(masm(), Code::KEYED_LOAD_IC);
2942 // Return the generated code.
2949 Handle<Code> ConstructStubCompiler::CompileConstructStub(
2963 // Check to see whether there are any break points in the function code. If
2965 // code for the function thereby hitting the break points.
3064 // Jump to the generic stub in case the specialized code cannot handle the
3067 Handle<Code> code = isolate()->builtins()->JSConstructStubGeneric();
3068 __ Jump(code, RelocInfo::CODE_TARGET);
3070 // Return the generated code.
3109 Handle<Code> slow_ic =
3119 Handle<Code> miss_ic =
3241 Handle<Code> ic = masm->isolate()->builtins()->KeyedLoadIC_Slow();
3252 Handle<Code> miss_ic =
3424 Handle<Code> ic = masm->isolate()->builtins()->KeyedStoreIC_Slow();
3437 Handle<Code> miss_ic =
3477 Code* code = masm->isolate()->builtins()->builtin(
3479 Handle<Code> ic(code);
3524 Handle<Code> slow_ic =
3529 Handle<Code> miss_ic =
3600 Handle<Code> ic_force_generic =
3605 Handle<Code> ic_miss = masm->isolate()->builtins()->KeyedStoreIC_Miss();
3672 Handle<Code> ic_slow = masm->isolate()->builtins()->KeyedStoreIC_Slow();
3723 Handle<Code> ic_force_generic =
3730 Handle<Code> ic_miss = masm->isolate()->builtins()->KeyedStoreIC_Miss();
3795 Handle<Code> ic_slow = masm->isolate()->builtins()->KeyedStoreIC_Slow();