LGTM.

There's one more requirement to making an array copy-on-write that should be
documented somewhere: its elements must be primitive. AFAIU it is true for
regexp matches which contain either strings or undefined.


http://codereview.chromium.org/3158020/diff/10018/11003
File src/arm/full-codegen-arm.cc (right):

http://codereview.chromium.org/3158020/diff/10018/11003#newcode2539
src/arm/full-codegen-arm.cc:2539: void
FullCodeGenerator::EmitRegExpCloneResult(ZoneList<Expression*>* args) {
Can this be moved to the architecture independent full-codegen?

http://codereview.chromium.org/3158020/diff/10018/11003#newcode2542
src/arm/full-codegen-arm.cc:2542: __
CallRuntime(Runtime::kRegExpConstructResult, 1);
kRegExpConstructResult -> kRegExpCloneResult.

http://codereview.chromium.org/3158020/diff/10018/11008
File src/ia32/codegen-ia32.cc (right):

http://codereview.chromium.org/3158020/diff/10018/11008#newcode7407
src/ia32/codegen-ia32.cc:7407: if (FLAG_debug_code) {
Should be checked in arm and x64 versions as well.

http://codereview.chromium.org/3158020/diff/10018/11012
File src/runtime.cc (right):

http://codereview.chromium.org/3158020/diff/10018/11012#newcode1407
src/runtime.cc:1407: // No write barrier is necessary when writing
old-space pointer.
I don't think we need to have this comment or assert for map assignment.

http://codereview.chromium.org/3158020/diff/10018/11014
File src/x64/codegen-x64.cc (right):

http://codereview.chromium.org/3158020/diff/10018/11014#newcode4834
src/x64/codegen-x64.cc:4834: __ push(save_register);
push -> pop.

http://codereview.chromium.org/3158020/show

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to