- 27 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: I4da6404aa968adca1fbb49029fc304622101d6c3 Reviewed-on: https://chromium-review.googlesource.com/c/1349112 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57853}
-
- 14 Nov, 2018 1 commit
-
-
Leszek Swirski authored
Moves the unicode predicate cache tables out of the unicode cache, and turns them into generic predicates in char-predicates.h which use static constexpr tables. This drops the per-isolate cost of unicode caches, and removes the need for accessing the unicode cache from most files. It does remove the mutability of the cache, which means that there may be regressions when parsing non-ASCII identifiers. Most likely the benefits to ASCII identifiers/keywords will outweigh any non-ASCII costs. Change-Id: I9a7a8b7c9b22d3e9ede824ab4e27f133ce20a399 Reviewed-on: https://chromium-review.googlesource.com/c/1335564Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#57506}
-
- 21 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I98ac4de406630c14280927240e9471049af3e790 Reviewed-on: https://chromium-review.googlesource.com/1108118Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53920}
-
- 17 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
Casting from a floating-point type to an integer type is undefined behavior if the integral part of the float cannot be represented in the range of the int. Bug: v8:3770, chromium:831145 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2e85ea8b0f09bbeeb3e0dcc1135fc747fa312f6d Reviewed-on: https://chromium-review.googlesource.com/1011651 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52631}
-
- 26 Jan, 2018 1 commit
-
-
Jakob Kummerow authored
which was dropped from the proposal: https://github.com/tc39/proposal-bigint/pull/101 Bug: v8:6791 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I5a3e0024900b34a322a23bcbc4bfdbdffbf8b9d4 Reviewed-on: https://chromium-review.googlesource.com/885510 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50877}
-
- 09 Jan, 2018 1 commit
-
-
jgruber authored
There were two separate bugs here. First, a signed/unsigned mismatch where we took the result of PositiveNumberToUint32 and treated it as a signed int. Second, AdvanceStringIndex did not handle large input values correctly. Both are fixed by using uint64_t consistently. Bug: chromium:799813, v8:7258 Change-Id: If2819f87986d0ca732bc24df290f6dc7614083e8 Reviewed-on: https://chromium-review.googlesource.com/854272 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#50432}
-
- 20 Oct, 2017 1 commit
-
-
Jakob Kummerow authored
Whitespace-only strings count as empty too. This behavior is different from BigInt.parseInt(""), which throws a SyntaxError. Bug: v8:6791, v8:6957 Change-Id: I6671c803f3ba83e23c3e0cad81d3af29dba61c9f Reviewed-on: https://chromium-review.googlesource.com/727301Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48797}
-
- 19 Oct, 2017 2 commits
-
-
Georg Neis authored
This adds BigInt support to JavaScript's abstract equality (== and !=), implemented mainly via CodeStubAssembler::Equal and via Object::Equals. Bug: v8:6791 Change-Id: I53219f2f71baa760b142cc676f18931731b87226 Reviewed-on: https://chromium-review.googlesource.com/725701 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48730}
-
Jakob Kummerow authored
This patch provides "Abstract Comparison" functions on the BigInt class for comparing BigInts to Numbers and Strings. The functionality is not exposed to JavaScript yet. Bug: v8:6791 Change-Id: I835f290203a31f363970b1edb359e19af6dabc5d Reviewed-on: https://chromium-review.googlesource.com/722324 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#48718}
-
- 13 Oct, 2017 1 commit
-
-
Adam Klein authored
Reuses the existing logic for BigInt.parseInt, adapted slightly to allow octal and binary radix prefixes (and to support parsing of a raw character buffer, rather than a v8::internal::String). Bug: v8:6791 Change-Id: I41904b2204721eac452e0765fa9ff0ab26ee343b Reviewed-on: https://chromium-review.googlesource.com/711334 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48560}
-
- 29 Sep, 2017 1 commit
-
-
Jakob Kummerow authored
based on the existing Number.parseInt. Bug: v8:6791 Change-Id: I9169a4695807a3e435e343d239431ae7f6ccf2a1 Reviewed-on: https://chromium-review.googlesource.com/685990Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48241}
-
- 26 Sep, 2017 1 commit
-
-
Jakob Kummerow authored
- Move things to conversions.cc that don't need to be in headers - Turn InternalStringToInt into a subclassable helper class so we can re-use it for BigInt.parseInt - Bonus: play a round of IWYU with all the .cc files who thought that #including conversions-inl.h would give them nice Unicode things Bug: v8:6791 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I64022543a9b83002e2b78416c7e87b40a1a016e6 Reviewed-on: https://chromium-review.googlesource.com/673725 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48174}
-
- 20 Jul, 2017 1 commit
-
-
Daniel Ehrenberg authored
This patch implements a recent spec change [1] which increases the bounds of precision for toFixed, toExponential and toPrecision. The bounds are a compromise between SpiderMonkey and the other engines. [1] https://github.com/tc39/ecma262/pull/857 Bug: v8:6539 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I877aa35e08f3dcda63f5f9181fdecf3c227f2c35 Reviewed-on: https://chromium-review.googlesource.com/553378 Commit-Queue: Daniel Ehrenberg <littledan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46793}
-
- 27 Jan, 2017 1 commit
-
-
marja authored
These headers only need forward declarations. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2654253002 Cr-Commit-Position: refs/heads/master@{#42740}
-
- 16 Jan, 2017 1 commit
-
-
leszeks authored
Moves constant element/property array building to be deferred for igition and on-demand for the other compilers, and splits off the object/array literal depth/flag initialisation from the array building. BUG=v8:5832 Review-Url: https://codereview.chromium.org/2625873009 Cr-Commit-Position: refs/heads/master@{#42362}
-
- 19 Dec, 2016 1 commit
-
-
cbruni authored
BUG= Review-Url: https://codereview.chromium.org/2577143002 Cr-Commit-Position: refs/heads/master@{#41801}
-
- 08 Aug, 2016 1 commit
-
-
mlippautz authored
BUG= Review-Url: https://codereview.chromium.org/2225013002 Cr-Commit-Position: refs/heads/master@{#38449}
-
- 21 Jul, 2016 1 commit
-
-
rmcilroy authored
Move VisitLiteral to decide what type of literal is being emitted by checking the raw ASTValue type, instead of the internalized on-heap value. This is required for concurrent bytecode generation. As part of this change, the NUMBER AstValue constructor is modified to try to convert numbers without a dot to SMIs where possible. This is to maintain the behavior in NewNumber where such numbers are internalized as SMIs, and ensures that we still emit LdaSmi bytecodes for these values in the generated bytecode. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2152853002 Cr-Commit-Position: refs/heads/master@{#37931}
-
- 29 Jun, 2016 1 commit
-
-
ahaas authored
The implementation of DoubleRepresentation was based on undefined behavior, and it can be replaced by bit_casts. BUG=chromium:623168 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2105683006 Cr-Commit-Position: refs/heads/master@{#37390}
-
- 06 Feb, 2016 1 commit
-
-
ishell authored
[api] Make ObjectTemplate::SetNativeDataProperty() work even if the ObjectTemplate does not have a constructor. Previously ObjectTemplate::New() logic relied on the fact that all the accessor properties are already installed in the initial map of the function object of the constructor FunctionTemplate. When the FunctionTemplate were instantiated the accessors of the instance templates from the whole inheritance chain were accumulated and added to the initial map. ObjectTemplate::SetSetAccessor() used to explicitly ensure that the ObjectTemplate has a constructor and therefore an initial map to add all accessors to. The new approach is to add all the accessors and data properties to the object exactly when the ObjectTemplate is instantiated. In order to keep it fast we now cache the object boilerplates in the Isolate::template_instantiations_cache (the former function_cache), so the object creation turns to be a deep copying of the boilerplate object. BUG=chromium:579009 LOG=Y Committed: https://crrev.com/6a118774244d087b5979e9291d628a994f21d59d Cr-Commit-Position: refs/heads/master@{#33674} Review URL: https://codereview.chromium.org/1642223003 Cr-Commit-Position: refs/heads/master@{#33798}
-
- 03 Feb, 2016 1 commit
-
-
hablich authored
Revert of [api] Make ObjectTemplate::SetNativeDataProperty() work even if the ObjectTemplate does not have a … (patchset #3 id:80001 of https://codereview.chromium.org/1642223003/ ) Reason for revert: Fails a lot of layout tests and blocks the roll. Can be easily reproduced with a local Chromium checkout. Reference: https://codereview.chromium.org/1652413003/ Original issue's description: > [api] Make ObjectTemplate::SetNativeDataProperty() work even if the ObjectTemplate does not have a constructor. > > Previously ObjectTemplate::New() logic relied on the fact that all the accessor properties are already installed in the initial map of the function object of the constructor FunctionTemplate. > When the FunctionTemplate were instantiated the accessors of the instance templates from the whole inheritance chain were accumulated and added to the initial map. > ObjectTemplate::SetSetAccessor() used to explicitly ensure that the ObjectTemplate has a constructor and therefore an initial map to add all accessors to. > > The new approach is to add all the accessors and data properties to the object exactly when the ObjectTemplate is instantiated. In order to keep it fast we now cache the object boilerplates in the Isolate::template_instantiations_cache (the former function_cache), so the object creation turns to be a deep copying of the boilerplate object. > > This CL also prohibits non-primitive properties in ObjectTemplate to avoid potential cross-context leaks. > > BUG=chromium:579009 > LOG=Y > > Committed: https://crrev.com/6a118774244d087b5979e9291d628a994f21d59d > Cr-Commit-Position: refs/heads/master@{#33674} TBR=verwaest@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:579009 Review URL: https://codereview.chromium.org/1660263003 Cr-Commit-Position: refs/heads/master@{#33698}
-
- 02 Feb, 2016 1 commit
-
-
ishell authored
[api] Make ObjectTemplate::SetNativeDataProperty() work even if the ObjectTemplate does not have a constructor. Previously ObjectTemplate::New() logic relied on the fact that all the accessor properties are already installed in the initial map of the function object of the constructor FunctionTemplate. When the FunctionTemplate were instantiated the accessors of the instance templates from the whole inheritance chain were accumulated and added to the initial map. ObjectTemplate::SetSetAccessor() used to explicitly ensure that the ObjectTemplate has a constructor and therefore an initial map to add all accessors to. The new approach is to add all the accessors and data properties to the object exactly when the ObjectTemplate is instantiated. In order to keep it fast we now cache the object boilerplates in the Isolate::template_instantiations_cache (the former function_cache), so the object creation turns to be a deep copying of the boilerplate object. This CL also prohibits non-primitive properties in ObjectTemplate to avoid potential cross-context leaks. BUG=chromium:579009 LOG=Y Review URL: https://codereview.chromium.org/1642223003 Cr-Commit-Position: refs/heads/master@{#33674}
-
- 13 Aug, 2015 2 commits
-
-
mstarzinger authored
This tries to remove includes of "-inl.h" headers from normal ".h" headers, thereby reducing the chance of any cyclic dependencies and decreasing the average size of our compilation units. Note that this change still leaves 5 violations of that rule in the code. It only tackles "node.h" including "types-inl.h". R=titzer@chromium.org Review URL: https://codereview.chromium.org/1288053004 Cr-Commit-Position: refs/heads/master@{#30161}
-
mstarzinger authored
This CL us a pure refactoring that makes an empty compilation unit including just "foo.h" but not "foo-inl.h" compile without warnings or errors. This is needed to further reduce the header dependency tangle. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1290743005 Cr-Commit-Position: refs/heads/master@{#30158}
-
- 30 Mar, 2015 1 commit
-
-
dcarney authored
R=verwaest@chromium.org,dslomov@chromium.org BUG= Review URL: https://codereview.chromium.org/1038313004 Cr-Commit-Position: refs/heads/master@{#27518}
-
- 10 Mar, 2015 1 commit
-
-
dcarney authored
the implementation doesn't yet throw on strict mode assignment BUG= Review URL: https://codereview.chromium.org/992913002 Cr-Commit-Position: refs/heads/master@{#27121}
-
- 22 Oct, 2014 1 commit
-
-
dslomov@chromium.org authored
R=yangguo@chromium.org BUG=chromium:425551 LOG=N Review URL: https://codereview.chromium.org/654763003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
This adds Float32Constant, ChangeFloat32ToFloat64 and TruncateFloat64ToFloat32 operators. TEST=compiler-unittests BUG=v8:3589 LOG=n R=titzer@chromium.org Review URL: https://codereview.chromium.org/594493002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2014 1 commit
-
-
jkummerow@chromium.org authored
Representation and HType should agree with each other. BUG=chromium:412215 LOG=y R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/556563005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
Also split v8-core independent methods from checks.h to base/logging.h and merge v8checks with the rest of checks. The CPU::FlushICache method is moved to CpuFeatures::FlushICache RoundUp and related methods are moved to base/macros.h Remove all layering violations from src/libplatform BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/358363002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2014 1 commit
-
-
wingo@igalia.com authored
Bug found by Andrew Paprocki <andrew@ishiboo.com>. R=mstarzinger@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/345533002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 May, 2014 1 commit
-
-
rossberg@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/296213005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Apr, 2014 1 commit
-
-
jochen@chromium.org authored
BUG=none R=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/250793009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Apr, 2014 1 commit
-
-
yangguo@chromium.org authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/225823003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Dec, 2013 1 commit
-
-
jkummerow@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/105313008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jul, 2013 1 commit
-
-
rossberg@chromium.org authored
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.3 ES6 extends the numeric literals to support explicit support for binary and octal literals using the following syntax: 0b10101 0o777 This is currently behind the flag, --harmony-numeric-literals BUG=2783 R=rossberg@chromium.org Review URL: https://codereview.chromium.org/19300002 Patch from Erik Arvidsson <arv@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2012 1 commit
-
-
yangguo@chromium.org authored
R=svenpanne@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10825074 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-