Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: src/arm/full-codegen-arm.cc

Issue 3158020: Use Copy-on-write arrays for cached regexp results. (Closed)
Patch Set: Changed comments. Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 2518 matching lines...) Expand 10 before | Expand all | Expand 10 after
2529 void FullCodeGenerator::EmitRegExpConstructResult(ZoneList<Expression*>* args) { 2529 void FullCodeGenerator::EmitRegExpConstructResult(ZoneList<Expression*>* args) {
2530 ASSERT(args->length() == 3); 2530 ASSERT(args->length() == 3);
2531 VisitForValue(args->at(0), kStack); 2531 VisitForValue(args->at(0), kStack);
2532 VisitForValue(args->at(1), kStack); 2532 VisitForValue(args->at(1), kStack);
2533 VisitForValue(args->at(2), kStack); 2533 VisitForValue(args->at(2), kStack);
2534 __ CallRuntime(Runtime::kRegExpConstructResult, 3); 2534 __ CallRuntime(Runtime::kRegExpConstructResult, 3);
2535 Apply(context_, r0); 2535 Apply(context_, r0);
2536 } 2536 }
2537 2537
2538 2538
2539 void FullCodeGenerator::EmitRegExpCloneResult(ZoneList<Expression*>* args) {
Vitaly Repeshko 2010/08/20 13:29:49 Can this be moved to the architecture independent
Lasse Reichstein 2010/08/23 12:52:11 Done. There actually seems to be a lot of Emit-run
2540 ASSERT(args->length() == 1);
2541 VisitForValue(args->at(0), kStack);
2542 __ CallRuntime(Runtime::kRegExpConstructResult, 1);
Vitaly Repeshko 2010/08/20 13:29:49 kRegExpConstructResult -> kRegExpCloneResult.
Lasse Reichstein 2010/08/23 12:52:11 Fixed.
2543 Apply(context_, r0);
2544 }
2545
2546
2539 void FullCodeGenerator::EmitSwapElements(ZoneList<Expression*>* args) { 2547 void FullCodeGenerator::EmitSwapElements(ZoneList<Expression*>* args) {
2540 ASSERT(args->length() == 3); 2548 ASSERT(args->length() == 3);
2541 VisitForValue(args->at(0), kStack); 2549 VisitForValue(args->at(0), kStack);
2542 VisitForValue(args->at(1), kStack); 2550 VisitForValue(args->at(1), kStack);
2543 VisitForValue(args->at(2), kStack); 2551 VisitForValue(args->at(2), kStack);
2544 __ CallRuntime(Runtime::kSwapElements, 3); 2552 __ CallRuntime(Runtime::kSwapElements, 3);
2545 Apply(context_, r0); 2553 Apply(context_, r0);
2546 } 2554 }
2547 2555
2548 2556
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after
3243 __ mov(r1, Operand(r1, ASR, 1)); // Un-smi-tag value. 3251 __ mov(r1, Operand(r1, ASR, 1)); // Un-smi-tag value.
3244 __ add(pc, r1, Operand(masm_->CodeObject())); 3252 __ add(pc, r1, Operand(masm_->CodeObject()));
3245 } 3253 }
3246 3254
3247 3255
3248 #undef __ 3256 #undef __
3249 3257
3250 } } // namespace v8::internal 3258 } } // namespace v8::internal
3251 3259
3252 #endif // V8_TARGET_ARCH_ARM 3260 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/codegen-arm.cc ('k') | src/arm/simulator-arm.cc » ('j') | src/ia32/codegen-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698