angular/packages/compiler/src/output
Andrew Kushnir 24ca582bc5 perf(compiler): avoid copying from prototype while cloning an object (#31638)
This commit updates the `_clone` function of the `_ApplySourceSpanTransformer` class, where the for-in loop was used, resulting in copying from prototype to own properties, thus consuming more memory. Prior to NodeJS 12 (V8 versions before 7.4) there was an optimization that was improving the situation and since that logic was removed in favor of other optimizations, the situation with memory consumption caused by the for-in loop got worse. This commit adds a check to make sure we copy only own properties over to cloned object.

Closes #31627.

PR Close #31638
2019-07-23 15:49:30 -07:00
..
abstract_emitter.ts fix(ivy): use 'typeof' and 'never' for type metadata (#24862) 2018-07-20 11:48:36 -07:00
abstract_js_emitter.ts feat(ivy): first steps towards JIT compilation (#23833) 2018-05-21 19:13:50 -04:00
js_emitter.ts fix(compiler): don’t use ng:// in AOT source maps, and never point to the original source file 2017-10-04 16:20:55 -07:00
map_util.ts feat(ivy): ICU support for Ivy (#26794) 2018-11-16 16:09:30 -08:00
output_ast.ts perf(compiler): avoid copying from prototype while cloning an object (#31638) 2019-07-23 15:49:30 -07:00
output_interpreter.ts refactor(compiler): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
output_jit.ts feat(ivy): add ɵɵtextInterpolateX instructions (#30011) 2019-05-29 12:38:58 -04:00
source_map.ts fix(compiler): Update types for TypeScript nullability support 2017-04-10 15:26:33 -06:00
ts_emitter.ts fix(ivy): types in .d.ts files should account for generics (#24862) 2018-07-20 11:48:36 -07:00
value_util.ts refactor(compiler): make OutputAst contain the moduleName, not the filePath (#16832). 2017-05-23 10:41:23 -06:00