CodeGenerator::MakeCodeEpilogue(MacroAssembler* masm, Code::Flags flags, CompilationInfo* info) { Isolate* isolate = info->isolate(); // Allocate and install the code. CodeDesc desc; bool is_crankshafted = Code::ExtractKindFromFlags(flags) == Code::OPTIMIZED_FUNCTION || info->IsStub(); masm->GetCode(&desc); Handle code = isolate->factory()->NewCode(desc, flags, masm->CodeObject(), false, is_crankshafted, info->prologue_offset()); isolate->counters()->total_compiled_code_size()->Increment( code->instruction_size()); isolate->heap()->IncrementCodeGeneratedBytes(is_crankshafted, code->instruction_size()); return code; } void CodeGenerator::PrintCode(Handle code, CompilationInfo* info) { #ifdef ENABLE_DISASSEMBLER AllowDeferredHandleDereference allow_deference_for_print_code; bool print_code = info->isolate()->bootstrapper()->IsActive() ? FLAG_print_builtin_code : (FLAG_print_code || (info->IsStub() && FLAG_print_code_stubs) || (info->IsOptimizing() && FLAG_print_opt_code)); if (print_code) { // Print the source code if available. FunctionLiteral* function = info->function(); bool print_source = code->kind() == Code::OPTIMIZED_FUNCTION || code->kind() == Code::FUNCTION; CodeTracer::Scope tracing_scope(info->isolate()->GetCodeTracer()); if (print_source) { Handle 登录后可以享受更多权益 您还没有登录,登录后您可以: 收藏Android系统代码 收藏喜欢的文章 多个平台共享账号 去登录 首次使用?从这里 注册
code = isolate->factory()->NewCode(desc, flags, masm->CodeObject(), false, is_crankshafted, info->prologue_offset()); isolate->counters()->total_compiled_code_size()->Increment( code->instruction_size()); isolate->heap()->IncrementCodeGeneratedBytes(is_crankshafted, code->instruction_size()); return code; } void CodeGenerator::PrintCode(Handle code, CompilationInfo* info) { #ifdef ENABLE_DISASSEMBLER AllowDeferredHandleDereference allow_deference_for_print_code; bool print_code = info->isolate()->bootstrapper()->IsActive() ? FLAG_print_builtin_code : (FLAG_print_code || (info->IsStub() && FLAG_print_code_stubs) || (info->IsOptimizing() && FLAG_print_opt_code)); if (print_code) { // Print the source code if available. FunctionLiteral* function = info->function(); bool print_source = code->kind() == Code::OPTIMIZED_FUNCTION || code->kind() == Code::FUNCTION; CodeTracer::Scope tracing_scope(info->isolate()->GetCodeTracer()); if (print_source) { Handle 登录后可以享受更多权益 您还没有登录,登录后您可以: 收藏Android系统代码 收藏喜欢的文章 多个平台共享账号 去登录 首次使用?从这里 注册
code, CompilationInfo* info) { #ifdef ENABLE_DISASSEMBLER AllowDeferredHandleDereference allow_deference_for_print_code; bool print_code = info->isolate()->bootstrapper()->IsActive() ? FLAG_print_builtin_code : (FLAG_print_code || (info->IsStub() && FLAG_print_code_stubs) || (info->IsOptimizing() && FLAG_print_opt_code)); if (print_code) { // Print the source code if available. FunctionLiteral* function = info->function(); bool print_source = code->kind() == Code::OPTIMIZED_FUNCTION || code->kind() == Code::FUNCTION; CodeTracer::Scope tracing_scope(info->isolate()->GetCodeTracer()); if (print_source) { Handle 登录后可以享受更多权益 您还没有登录,登录后您可以: 收藏Android系统代码 收藏喜欢的文章 多个平台共享账号 去登录 首次使用?从这里 注册
您还没有登录,登录后您可以:
首次使用?从这里 注册