| // Copyright 2012 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| (function(global, utils) { |
| |
| %CheckIsBootstrapping(); |
| |
| // ------------------------------------------------------------------- |
| // Imports |
| |
| var GlobalRegExp = global.RegExp; |
| var RegExpSubclassExecJS = utils.ImportNow("RegExpSubclassExecJS"); |
| var RegExpSubclassMatch = utils.ImportNow("RegExpSubclassMatch"); |
| var RegExpSubclassReplace = utils.ImportNow("RegExpSubclassReplace"); |
| var RegExpSubclassSearch = utils.ImportNow("RegExpSubclassSearch"); |
| var RegExpSubclassSplit = utils.ImportNow("RegExpSubclassSplit"); |
| var RegExpSubclassTest = utils.ImportNow("RegExpSubclassTest"); |
| var matchSymbol = utils.ImportNow("match_symbol"); |
| var replaceSymbol = utils.ImportNow("replace_symbol"); |
| var searchSymbol = utils.ImportNow("search_symbol"); |
| var splitSymbol = utils.ImportNow("split_symbol"); |
| |
| utils.OverrideFunction(GlobalRegExp.prototype, "exec", |
| RegExpSubclassExecJS, true); |
| utils.OverrideFunction(GlobalRegExp.prototype, matchSymbol, |
| RegExpSubclassMatch, true); |
| utils.OverrideFunction(GlobalRegExp.prototype, replaceSymbol, |
| RegExpSubclassReplace, true); |
| utils.OverrideFunction(GlobalRegExp.prototype, searchSymbol, |
| RegExpSubclassSearch, true); |
| utils.OverrideFunction(GlobalRegExp.prototype, splitSymbol, |
| RegExpSubclassSplit, true); |
| utils.OverrideFunction(GlobalRegExp.prototype, "test", |
| RegExpSubclassTest, true); |
| |
| }) |