原文:CoreCLR源码探索(八) JIT的工作原理(详解篇)

在上一篇我们对CoreCLR中的JIT有了一个基础的了解, 这一篇我们将更详细分析JIT的实现. JIT的实现代码主要在https: github.com dotnet coreclr tree master src jit下, 要对一个的函数的JIT过程进行详细分析, 最好的办法是查看JitDump. 查看JitDump需要自己编译一个Debug版本的CoreCLR, windows可以看这里, ...

2017-10-28 11:48 3 1426 推荐指数:

查看详情

CoreCLR源码探索(二) new是什么

前一我们看到了CoreCLR中对Object的定义,这一我们将会看CoreCLR中对new的定义和处理 new对于.Net程序员们来说同样是耳熟能详的关键词,我们每天都会用到new,然而new究竟是什么? 因为篇幅限制和避免难度跳的太高,这一将不会详细讲解以下的内容,请耐心等待后续的文章 ...

Tue Jan 10 03:14:00 CST 2017 20 4313
CoreCLR源码探索(一) Object是什么

.Net程序员们每天都在和Object在打交道 如果你问一个.Net程序员什么是Object,他可能会信誓旦旦的告诉你"Object还不简单吗,就是所有类型的基类" 这个答案是对的,但是不足以说明Object真正是什么 在这篇文章我们将会通过阅读CoreCLR的源代码了解Object在内存中 ...

Tue Jan 03 23:09:00 CST 2017 39 6681
CoreCLR源码探索(六) NullReferenceException是如何发生的

NullReferenceException可能是.Net程序员遇到最多的例外了, 这个例外发生的如此频繁, 以至于人们付出了巨大的努力来使用各种特性和约束试图防止它发生, 但时至今日它仍然让很多程序 ...

Wed May 24 22:06:00 CST 2017 12 1860
CoreCLR源码探索(四) GC内存收集器的内部实现 分析

在这篇中我将讲述GC Collector内部的实现, 这是CoreCLR中除了JIT以外最复杂部分,下面一些概念目前尚未有公开的文档和书籍讲到。 为了分析这部分我花了一个多月的时间,期间也多次向CoreCLR的开发组提问过,我有信心以下内容都是比较准确的,但如果你发现了错误或者有疑问的地方请指出 ...

Mon Mar 27 17:50:00 CST 2017 7 2282
CoreCLR源码探索(五) GC内存收集器的内部实现 调试

在上一中我分析了CoreCLR中GC的内部处理, 在这一我将使用LLDB实际跟踪CoreCLR中GC,关于如何使用LLDB调试CoreCLR的介绍可以看: 微软官方的文档,地址 我在第3中的介绍,地址 LLDB官方的入门文档,地址 源代码 本篇跟踪程序的源代码 ...

Mon Mar 27 23:31:00 CST 2017 5 979
CoreCLR源码探索(三) GC内存分配器的内部实现

在前一中我讲解了new是怎么工作的, 但是却一笔跳过了内存分配相关的部分. 在这一中我将详细讲解GC内存分配器的内部实现. 在看这一之前请必须先看完微软BOTR文档中的"Garbage Collection Design", 原文地址是: https://github.com/dotnet ...

Thu Feb 09 01:21:00 CST 2017 10 1896
探索JS引擎工作原理

JavaScript 从定义到执行,JS引擎在实现层做了很多初始化工作,因此在学习 JS 引擎工作机制之前,我们需要引入几个相关的概念:执行环境栈、全局对象、执行环境、变量对象、活动对象、作用域和作用域链等,这些概念正是JS引擎工作的核心组件。这篇文章的目的不是孤立的为你讲解每一个概念 ...

Thu Dec 31 17:57:00 CST 2015 17 14363
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM