- 21 Aug, 2018 1 commit
-
-
Benedikt Meurer authored
There were still a few places left in builtins where we have custom logic to check for a certain instance type and raise the incompatible receiver error. Bug: v8:8015 Change-Id: Ic5ed80aa6327b2902209b1822677f75b19d8a715 Reviewed-on: https://chromium-review.googlesource.com/1183183Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55252}
-
- 13 Aug, 2018 1 commit
-
-
jgruber authored
Bug: v8:8015 Change-Id: Ie8265458ace8c0d12ca9d3f58afd981f1f30cd1e Reviewed-on: https://chromium-review.googlesource.com/1170826 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#55087}
-
- 07 Aug, 2018 1 commit
-
-
Tobias Tebbi authored
This enables fast bounds checks on FixedArray's. Change-Id: I0ae57b2c6981d8e1b2c7017ba658fd9c890d2bad Reviewed-on: https://chromium-review.googlesource.com/1163614 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54946}
-
- 06 Aug, 2018 3 commits
-
-
Simon Zünd authored
This CL is the first step towards a SetProperty stub, by adding a stub that redirects to the runtime and replacing every runtime call-site with a call to this stub. A followup CL will then add an implementation to the stub similar to KeyedStoreGenericAssembler::KeyedStoreGeneric(). R=cbruni@chromium.org, jgruber@chromium.org Change-Id: Iff2f913988cada6220d54817d94d011ad6de2b77 Reviewed-on: https://chromium-review.googlesource.com/1163519 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#54926}
-
Sigurd Schneider authored
Change-Id: Icf0507c6e50533c64a42fcf934bb1472ff21f68a Reviewed-on: https://chromium-review.googlesource.com/1163618 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54925}
-
jgruber authored
And related call sites. Drive-by: add IntPtrZero() and SmiZero() helpers. Bug: v8:8015 Change-Id: I83195cf2da858f8d35f25c9a1aa5c40c81df78b9 Reviewed-on: https://chromium-review.googlesource.com/1162169 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#54918}
-
- 23 Jul, 2018 1 commit
-
-
jgruber authored
Bug: v8:7754 Change-Id: Ie58571682f4dff76108180e8a707159997f7abfa Reviewed-on: https://chromium-review.googlesource.com/1145277Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54606}
-
- 06 Jul, 2018 1 commit
-
-
jgruber authored
RegExp builtins were the first to be ported to CSA roughly two years ago. Back then, we weren't really aware of issues surrounding code size and CSA inlining, and thus some of these builtins were bigger than they should be. This CL adds a few new helper builtins and removes inlined calls to SubString, RegExpExecInternal, and StringAdd. It significantly reduces the size of affected builtins. Minor performance regressions due to call overhead are expected. Before: TFS Builtin, RegExpReplace, 20008 TFS Builtin, RegExpSplit, 17340 TFS Builtin, RegExpMatchFast, 17064 TFJ Builtin, RegExpStringIteratorPrototypeNext, 12862 After: TFS Builtin, RegExpReplace, 5067 TFS Builtin, RegExpSplit, 6329 TFS Builtin, RegExpMatchFast, 8164 TFJ Builtin, RegExpStringIteratorPrototypeNext, 6652 Bug: v8:5737 Change-Id: I1c077a084da85bb73c0c5adb7118b941f488e0ec Reviewed-on: https://chromium-review.googlesource.com/1127796Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54293}
-
- 18 Jun, 2018 1 commit
-
-
Igor Sheludko authored
Now TFJ builtins can use their own descriptors so there's no need to keep the hacky BuiltinDescriptor around. Bug: v8:7754 Change-Id: Ia7f23a21fb979370fd2149fef13186b83a3d5d30 Reviewed-on: https://chromium-review.googlesource.com/1104428 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#53806}
-
- 11 Jun, 2018 1 commit
-
-
Sigurd Schneider authored
This CL adds a TFS stub for RegExp#test and moves several checks to the JSCallReducer. In particular, the JSCallReducer checks that - property {exec} on the regexp is still the original exec - property {lastIndex} on the regexp is a non-negative smi The stub does not repeat these checks in release mode. This effectively means that if the regexp is known, we can perform these checks at compile time, and get away with a map dependency. Bug: v8:7779, v8:7200 Change-Id: I0c6d711d4f1d2f6f325a1c02855b0e1b62e014c8 Reviewed-on: https://chromium-review.googlesource.com/1074654 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53630}
-
- 06 Jun, 2018 1 commit
-
-
peterwmwong authored
As per (https://github.com/tc39/proposal-string-matchall/pull/35), the call to IsRegExp after CreateRegExp was removed and additional checking was replaced by an Assert. Updates to Test262 has been submitted: https://github.com/tc39/test262/pull/1587 Bug: v8:6890 Change-Id: I942b6846bb46cf85b1ea5566f9c19de7d2dbf03e Reviewed-on: https://chromium-review.googlesource.com/1086419Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#53539}
-
- 17 May, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:7754 Change-Id: Id22020984e10bd2ddb22119c50b490419c897174 Reviewed-on: https://chromium-review.googlesource.com/1062272Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53232}
-
- 16 May, 2018 1 commit
-
-
jgruber authored
It is possible for user code to modify fast regexp result objects before they are used e.g. by RegExp.p.match, so we may not make any assumptions about their contents. The only exception is when the RegExp itself is fast. Bug: chromium:843022 Change-Id: I14eafbdfb2b2ced609da1391b57c73cbe167f7fb Reviewed-on: https://chromium-review.googlesource.com/1061455Reviewed-by:
Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53210}
-
- 27 Apr, 2018 1 commit
-
-
Camillo Bruni authored
Bug: v8:7570 Change-Id: I74b482b670ce0e78dca012cbe8d9c2f65fdae5b9 Reviewed-on: https://chromium-review.googlesource.com/1030554 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#52846}
-
- 25 Apr, 2018 1 commit
-
-
Andreas Haas authored
I missed one required change which was hidden behind an #if. The fix is in the diff between Patch 1 and Patch 3. Original message: In this CL I remove the isolate from signatures of ExternalReference accessor functions where the isolate is not used. The uses of the isolate were already removed in previous CLs. Changes: * I split the ExternalReference list in external-reference.h into those which need the isolate for initialization and those which do not. * I removed the public constructors and replaced them by ExternalReference::Create(). The reason is to separate external creation more clearly from internal creation, because externally created ExternalReferences sometimes need redirection, whereas internally created ExternalReferences are just stored as they are. In addition, by removing the isolate from the signature of the public constructors, they suddenly exactly matched the interal constructor. * Replace all uses of the public constructors with ExternalReference::Create(). * Remove the isolate from all call sites where necessary. This is a step towards making WebAssembly compilation independent of the isolate. R=mstarzinger@chromium.org Bug: v8:7570 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I750c162f5d58ed32e866722b0db920f8b9bd8057 Reviewed-on: https://chromium-review.googlesource.com/1026673Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52777}
-
- 24 Apr, 2018 2 commits
-
-
Andreas Haas authored
This reverts commit 44ea425a. Reason for revert: https://ci.chromium.org/buildbot/client.v8.ports/V8%20Arm%20-%20debug%20builder/13575 Original change's description: > [refactoring] Remove the isolate from signatures of ExternalReferences > > In this CL I remove the isolate from signatures of ExternalReference > accessor functions where the isolate is not used. The uses of the > isolate were already removed in previous CLs. > > Changes: > * I split the ExternalReference list in external-reference.h into > those which need the isolate for initialization and those which do not. > > * I removed the public constructors and replaced them by > ExternalReference::Create(). The reason is to separate external > creation more clearly from internal creation, because externally > created ExternalReferences sometimes need redirection, whereas > internally created ExternalReferences are just stored as they are. > In addition, by removing the isolate from the signature of the > public constructors, they suddenly exactly matched the interal > constructor. > > * Replace all uses of the public constructors with > ExternalReference::Create(). > > * Remove the isolate from all call sites where necessary. > > > This is a step towards making WebAssembly compilation independent of > the isolate. > > Bug: v8:7570 > R=mstarzinger@chromium.org > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: I14f511fc6acc50ab2d6a6641299f5ddbeabef0da > Reviewed-on: https://chromium-review.googlesource.com/1018982 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52768} TBR=mstarzinger@chromium.org,ahaas@chromium.org Change-Id: I7c0d8d420f815cede23d550dee8942ac4d7791cc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7570 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1026570Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52769}
-
Andreas Haas authored
In this CL I remove the isolate from signatures of ExternalReference accessor functions where the isolate is not used. The uses of the isolate were already removed in previous CLs. Changes: * I split the ExternalReference list in external-reference.h into those which need the isolate for initialization and those which do not. * I removed the public constructors and replaced them by ExternalReference::Create(). The reason is to separate external creation more clearly from internal creation, because externally created ExternalReferences sometimes need redirection, whereas internally created ExternalReferences are just stored as they are. In addition, by removing the isolate from the signature of the public constructors, they suddenly exactly matched the interal constructor. * Replace all uses of the public constructors with ExternalReference::Create(). * Remove the isolate from all call sites where necessary. This is a step towards making WebAssembly compilation independent of the isolate. Bug: v8:7570 R=mstarzinger@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I14f511fc6acc50ab2d6a6641299f5ddbeabef0da Reviewed-on: https://chromium-review.googlesource.com/1018982 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52768}
-
- 12 Apr, 2018 2 commits
-
-
peterwmwong authored
Add fast paths when RegExp and RegExp result are fast wherever possible. As shown below, this CL improves the performance of calling S.p.matchAll and iterating over matches. Before: StringMatchAllBuiltinRegExpIteratorCreation-Strings(Score): 5002 StringMatchAllBuiltinStringIteratorCreation-Strings(Score): 13798 StringMatchAllBuiltinString-Strings(Score): 197 StringMatchAllManualString-Strings(Score): 454 StringMatchAllBuiltinRegExp-Strings(Score): 193 StringMatchAllManualRegExp-Strings(Score): 453 StringMatchAllBuiltinZeroWidth-Strings(Score): 97.2 StringMatchAllBuiltinZeroWidthUnicode-Strings(Score): 95.9 After: StringMatchAllBuiltinRegExpIteratorCreation-Strings(Score): 15437 StringMatchAllBuiltinStringIteratorCreation-Strings(Score): 16708 StringMatchAllBuiltinString-Strings(Score): 392 StringMatchAllManualString-Strings(Score): 452 StringMatchAllBuiltinRegExp-Strings(Score): 394 StringMatchAllManualRegExp-Strings(Score): 484 StringMatchAllBuiltinZeroWidth-Strings(Score): 409 StringMatchAllBuiltinZeroWidthUnicode-Strings(Score): 413 Bug: v8:6890 Change-Id: I6fcc1003a471314cf412aac456d42286b2926810 Reviewed-on: https://chromium-review.googlesource.com/1005400 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52581}
-
peterwmwong authored
It is not safe to assume the first match is a string just because the RegExp result is fast. Bug: chromium:831943 Change-Id: Idd40f8b75312f0be54f45f626dc017339033abc6 Reviewed-on: https://chromium-review.googlesource.com/1009325Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#52578}
-
- 09 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Original review: https://chromium-review.googlesource.com/c/v8/v8/+/959533 Originally landed as r52416 / f9a2e24b Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id072cbe6b3ed30afd339c7e502844b99ca12a647 Reviewed-on: https://chromium-review.googlesource.com/1000540 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52492}
-
- 06 Apr, 2018 3 commits
-
-
Peter Marshall authored
Also changed the order of params so that context comes first to be more consistent with other CSA helpers. Change-Id: Ibf602dc7f3a148bed7fc0f93cc3dbc714febd786 Reviewed-on: https://chromium-review.googlesource.com/999513Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52441}
-
Michael Achenbach authored
This reverts commit f9a2e24b. Reason for revert: gc stress failures not all fixed by follow up. Original change's description: > [cleanup] Refactor the Factory > > There is no good reason to have the meat of most objects' initialization > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, > this CL changes the protocol between Heap and Factory to be AllocateRaw, > and all object initialization work after (possibly retried) successful > raw allocation happens in the Factory. > > This saves about 20KB of binary size on x64. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca > Reviewed-on: https://chromium-review.googlesource.com/959533 > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52416} TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52420}
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca Reviewed-on: https://chromium-review.googlesource.com/959533 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52416}
-
- 05 Apr, 2018 1 commit
-
-
peterwmwong authored
Proposal repo: https://github.com/tc39/proposal-string-matchall - Add new builtins StringPrototypeMatchAll and RegExpPrototypeMatchAll - Add new object RegExpStringIterator Bug: v8:6890 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I9fad71900cf30e8632258c309df1c7a638ea4600 Reviewed-on: https://chromium-review.googlesource.com/981893 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52403}
-
- 28 Mar, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:7310 Change-Id: I942d038d8d213b394fe5c6e158a5eb0fc32912db Reviewed-on: https://chromium-review.googlesource.com/983778Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52281}
-
- 27 Mar, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:6949, v8:7310 Change-Id: I8647d385355f357e8825648d6da2757efdcbc6c2 Reviewed-on: https://chromium-review.googlesource.com/980496Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52249}
-
- 23 Mar, 2018 3 commits
-
-
Alexey Kozyatinskiy authored
This is a reland of 6da438fd Original change's description: > [runtime] introduced instrance type for each context type > > Each context type get own instance type: > - we can make CSA checks more strict in couple places, > - it is requires step for advanced evaluation without side effects. > > R=yangguo@chromium.org > > Bug: v8:7588 > Change-Id: I585e8b55a280a909fc3c6069ed30e34b7040d0c7 > Reviewed-on: https://chromium-review.googlesource.com/977041 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52191} Bug: v8:7588 Change-Id: I80110ff814c0315d7ca694b7d0aef5b10df614f0 Reviewed-on: https://chromium-review.googlesource.com/978584Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#52196}
-
Michael Achenbach authored
This reverts commit 6da438fd. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/18287 Original change's description: > [runtime] introduced instrance type for each context type > > Each context type get own instance type: > - we can make CSA checks more strict in couple places, > - it is requires step for advanced evaluation without side effects. > > R=yangguo@chromium.org > > Bug: v8:7588 > Change-Id: I585e8b55a280a909fc3c6069ed30e34b7040d0c7 > Reviewed-on: https://chromium-review.googlesource.com/977041 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52191} TBR=yangguo@chromium.org,mstarzinger@chromium.org,kozyatinskiy@chromium.org Change-Id: I17a24b5b99552941d7a8ec54ebf6d11d6d1a66d8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7588 Reviewed-on: https://chromium-review.googlesource.com/977974Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52193}
-
Alexey Kozyatinskiy authored
Each context type get own instance type: - we can make CSA checks more strict in couple places, - it is requires step for advanced evaluation without side effects. R=yangguo@chromium.org Bug: v8:7588 Change-Id: I585e8b55a280a909fc3c6069ed30e34b7040d0c7 Reviewed-on: https://chromium-review.googlesource.com/977041 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52191}
-
- 26 Feb, 2018 1 commit
-
-
Sigurd Schneider authored
This CL changes the builtin StringSubstring(string, start, end) to take start and end as untagged IntPtr values. Bug: v8:7250, v8:7340 Change-Id: I39700d087da903f076a6ca163a8f880d31eea3a0 Reviewed-on: https://chromium-review.googlesource.com/923961 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51556}
-
- 23 Feb, 2018 2 commits
-
-
Sigurd Schneider authored
Bug: v8:7310 Change-Id: I3b9832c7090d5c4b2f425f85095b0d7bae29fbfd Reviewed-on: https://chromium-review.googlesource.com/934321 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#51519}
-
Georg Neis authored
E.g. SubString and StringAdd. Bug: v8:7310 Change-Id: I352044f88fe79c5b576c5423d6feae3bcb7d725a Reviewed-on: https://chromium-review.googlesource.com/934284Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51504}
-
- 13 Feb, 2018 1 commit
-
-
Sigurd Schneider authored
This is a reland of 6d5b54df82e27a82811a836dcdbbfe26829f0e6d Original change's description: > [cleanup] Harden the SubString CSA/Runtime implementations. > > Remove the self-healing for invalid parameters in the > CodeStubAssembler::SubString helper and the %SubString runtime function, > which is used as a fallback for the CodeStubAssembler implementation. > All call sites must do appropriate parameter validation anyways now that > the self-hosted JavaScript builtins using these helpers are gone, and we > have proper contracts with the uses. > > Also remove the context parameter from the CodeStubAssembler::SubString > method, which is unnecessary, since this can no longer throw an > exception. > > Bug: v8:5269, v8:6936, v8:7109, v8:7137 > Change-Id: I19d93bad5f41faa0561c4561a48f78fcba99a549 > Reviewed-on: https://chromium-review.googlesource.com/795720 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49702} Bug: v8:5269, v8:6936, v8:7109, v8:7137 Change-Id: I5e84998a2dd3990d7981505b401ffc770e0b7ac5 Reviewed-on: https://chromium-review.googlesource.com/913130Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51265}
-
- 09 Feb, 2018 1 commit
-
-
Tobias Tebbi authored
This avoids the ambiguous implicit conversion C++ compile errors we had to fix with static_cast before. Change-Id: I4247f617740f2b6d14d9588a902e0e25029a6726 Reviewed-on: https://chromium-review.googlesource.com/911629Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#51217}
-
- 08 Feb, 2018 1 commit
-
-
Dan Elphick authored
The new macro takes a void(Label* ok, Label* not_ok), which should generate statements that branch to one of the labels. If the not_ok Label is reached, it will abort just like CSA_ASSERT. Also replaces an instance of #ifdef DEBUG ... #endif with this pattern in builtins-regexp-gen.cc Change-Id: Ie7ec87e041c040c03f9c528dccc8e709e50ed9b9 Reviewed-on: https://chromium-review.googlesource.com/906933Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#51178}
-
- 07 Feb, 2018 1 commit
-
-
Peter Marshall authored
Cleanup CL that removes unnecessary builtins that were just wrapping the throwing of errors. Use the ThrowTypeError and ThrowRangeError helpers more consistently from CSA. Change-Id: I2d0c3647340c88c457b27e16c0a81567869b7ec7 Reviewed-on: https://chromium-review.googlesource.com/906769 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#51150}
-
- 06 Feb, 2018 1 commit
-
-
Peter Marshall authored
We want to be able to use this from other builtins as well, so move it to somewhere common. Also adds typing and cleans up the coding style to match newer CSA code a bit more. GrowableFixedArray is now a subclass of CodeStubAssembler to make things easier and cleaner. The growing strategy has also been slightly changed so that empty arrays can be produced. Change-Id: I20cbd1069d489a6875804736d3e5abab80d0f777 Reviewed-on: https://chromium-review.googlesource.com/901324Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#51107}
-
- 17 Jan, 2018 1 commit
-
-
peterwmwong authored
Bug: v8:7239 Change-Id: I25d2926a974bdb99a45fe4df79c6a62a363f67cf Reviewed-on: https://chromium-review.googlesource.com/867237Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#50651}
-
- 12 Jan, 2018 2 commits
-
-
Jakob Gruber authored
Flag getters (e.g. RegExp.p.get global) are defined on the prototype and thus we need to use the more general BranchIfFastRegExp here instead of IsFastRegExpNoPrototype. Bug: chromium:800538 Change-Id: Ib6bc8a4fd3bf2f7dd31538c8dbb61814106c184b Reviewed-on: https://chromium-review.googlesource.com/859767Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50538}
-
Jakob Gruber authored
This fixes a spec bug in which the order of calls to 1) the flag getter and 2) ToUint32(limit) was incorrect if ToUint32 pushes the regexp instance onto the slow path. We are now more restrictive and completely avoid ToUint32 on the fast path. Bug: chromium:801171 Change-Id: I21d15fe566754d2bc05853f895636bb882fbf599 Reviewed-on: https://chromium-review.googlesource.com/863644Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50533}
-