- 09 Mar, 2020 1 commit
-
-
Dan Elphick authored
String::NewFromLiteral is a templated function that takes a char[N] argument that can be used as an alternative to String::NewFromUtf8 and returns a Local<String> rather than a MaybeLocal<String> reducing the number of ToLocalChecked() or other checks. Since the string length is known at compile time, it can statically assert that the length is less than String::kMaxLength, which means that it can never fail at runtime. This also converts all found uses of NewFromUtf8 taking a string literal or a variable initialized from a string literal to use the new API. In some cases the types of stored string literals are changed from const char* to const char[] to ensure the size is retained. This API does introduce a small difference compared to NewFromUtf8. For a case like "abc\0def", NewFromUtf8 (using length -1 to infer length) would treat this as a 3 character string, whereas the new API will treat it as a 7 character string. As a drive-by fix, this also fixes all redundant uses of v8::NewStringType::kNormal when passed to any of the String::New* functions. Change-Id: Id96a44bc068d9c4eaa634aea688e024675a0e5b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2089935 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66622}
-
- 24 May, 2019 1 commit
-
-
Yang Guo authored
TBR=mvstanton@chromium.org,neis@chromium.org,ahaas@chromium.org Bug: v8:9247 Change-Id: I5433c863a54f3412d73df0d38aba3fdbcfac7ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627973 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61830}
-
- 30 Apr, 2019 1 commit
-
-
Ross McIlroy authored
BUG=v8:8801 Change-Id: I20e1b343f33293a5de3a8953650a26852126533a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588466 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Auto-Submit: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61127}
-
- 08 Feb, 2019 1 commit
-
-
Toon Verwaest authored
Change-Id: Iad53e1a3b6ef0148dc5aa9c5c04c25c446dcdfa2 Reviewed-on: https://chromium-review.googlesource.com/c/1460468Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59464}
-
- 26 Nov, 2018 1 commit
-
-
Marja Hölttä authored
- Remove heap-inl.h includes from places where it looked unnecessary. (This is a non-scientific approach, because it's probably pulled in indirectly anyway.) - Annotate places which include heap-inl.h because they need heap/ internals. - ACCESSORS legitimately needs heap-inl.h because of Heap::FromWritableHeapObject. - Add includes to heap/heap-write-barrier(-inl).h - A bunch of IWYU fixes discovered when working on this CL (includes which were missing because heap-inl.h pulls them in indirectly). BUG=v8:7490,v8:8238,v8:8499 Change-Id: I00f9a74d430f13d7c080dca77a92b03bcca7ef96 Reviewed-on: https://chromium-review.googlesource.com/c/1349241Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#57814}
-
- 17 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I6bd8e0c8c1965f22a3429fda12bc70ae454c39c2 Reviewed-on: https://chromium-review.googlesource.com/1226978Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55930}
-
- 14 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I2a7a8c8447d2835205f7a506f04efe4d1801b934 Reviewed-on: https://chromium-review.googlesource.com/1224316Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55903}
-
- 13 Oct, 2017 1 commit
-
-
Mathias Bynens authored
New code should use nullptr instead of NULL. This patch updates existing use of NULL to nullptr where applicable, making the code base more consistent. BUG=v8:6928,v8:6921 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I4687f5b96fcfd88b41fa970a2b937b4f6538777c Reviewed-on: https://chromium-review.googlesource.com/718338 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48557}
-
- 14 Aug, 2017 1 commit
-
-
Mostyn Bramley-Moore authored
* Avoid "using namespace" statements, which trigger clang's -Wheader-hygiene warnings in jumbo builds. * Undefine created macros at the end of source files. BUG=chromium:746958 Change-Id: I5d25432c314437f607b0e1be22765a6764267ba6 Reviewed-on: https://chromium-review.googlesource.com/610962Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#47347}
-
- 15 Sep, 2016 1 commit
-
-
franzih authored
We used to intercept function definitions, but not declarations. GenericNamedPropertySetterCallback now also intercepts function declarations. For definitions, we call DeclareGlobal and then InitializeVarGlobal. For declarations, we never call InitializeVarGlobal, thus we must check for interceptors in DeclareGlobal. If the semantics of a redeclaration are wrong, e.g., redeclaring a read-only property, an exception is thrown independent of whether an interceptor is installed. Usually, i.e., not during a declaration, we only throw if the call is not successfully intercepted. BUG=v8:5375 Review-Url: https://codereview.chromium.org/2334733002 Cr-Commit-Position: refs/heads/master@{#39450}
-
- 07 Sep, 2016 1 commit
-
-
ulan authored
Now callers of Heap::CollectGarbage* functions need to specify the reason as an enum value instead of a string. Subsequent CL will add stats counter for GC reason. BUG= Review-Url: https://codereview.chromium.org/2310143002 Cr-Commit-Position: refs/heads/master@{#39239}
-
- 01 Sep, 2016 1 commit
-
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Many of these files we need to rebuild are cctests which pull in more includes than they need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2304553002 Cr-Commit-Position: refs/heads/master@{#39080}
-
- 10 Aug, 2016 1 commit
-
-
krasin authored
This is to prevent a collision with Expectations class defined in test-field-type-tracking.cc, which happens in Clang under certain conditions (official build + Precise + unknown). While the original intent was to just workaround the Clang bug, putting types into anonymous namespace seems reasonable anyway (thank you to Benedikt Meurer for the suggestion!) BUG=630335 Review-Url: https://codereview.chromium.org/2227073002 Cr-Commit-Position: refs/heads/master@{#38552}
-
- 22 Mar, 2016 1 commit
-
-
adamk authored
Now that ES2015 const has shipped, in Chrome 49, legacy const declarations are no more. This lets us remove a bunch of code from many parts of the codebase. In this patch, I remove parser support for generating legacy const variables from const declarations. This also removes the special "illegal declaration" bit from Scope, which has ripples into all compiler backends. Also gone are any tests which relied on legacy const declarations. Note that we do still generate a Variable in mode CONST_LEGACY in one case: function name bindings in sloppy mode. The likely fix there is to add a new Variable::Kind for this case and handle it appropriately for stores in each backend, but I leave that for a later patch to make this one completely subtractive. Review URL: https://codereview.chromium.org/1819123002 Cr-Commit-Position: refs/heads/master@{#35002}
-
- 11 Jan, 2016 1 commit
-
-
littledan authored
This patch moves the semantics of 'const' in sloppy mode to match those in strict mode, that is, const makes lexical (let-like) bindings, must have an initializer, and does not create properties of the global object. R=adamk LOG=Y BUG=v8:3305 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1571873004 Cr-Commit-Position: refs/heads/master@{#33218}
-
- 09 Dec, 2015 1 commit
-
-
jochen authored
Embedders still can use those APIs by default test-api.cc still has an exception to use the old APIs... BUG=v8:4143 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1505803004 Cr-Commit-Position: refs/heads/master@{#32701}
-
- 07 Dec, 2015 1 commit
-
-
jochen authored
BUG=v8:4134 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1502193002 Cr-Commit-Position: refs/heads/master@{#32659}
-
- 01 Jul, 2015 1 commit
-
-
verwaest authored
This change changes bootstrapping semantics for intercepted global objects. Unlike before, we'll now also call into the interceptor during bootstrapping. This affects properties loaded from within the runtime, such as global.Array and global.Symbol. The embedder will need to make sure that those values are the expected values during bootstrapping. BUG=chromium:505998 LOG=n Review URL: https://codereview.chromium.org/1220813005 Cr-Commit-Position: refs/heads/master@{#29414}
-
- 28 May, 2015 1 commit
-
-
jochen authored
BUG=4134 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1154423004 Cr-Commit-Position: refs/heads/master@{#28678}
-
- 13 Mar, 2015 2 commits
-
-
dslomov authored
We have been shipping harmony scoping for 2 Chrome releases now (M41 and M42). Time to remove the flag. R=rossberg@chromium.org LOG=Y Review URL: https://codereview.chromium.org/1007783002 Cr-Commit-Position: refs/heads/master@{#27187}
-
dslomov authored
StoreIC::Store was missing a check present in LoadIC::Load. R=rossberg@chromium.org BUG=v8:3941 LOG=Y Review URL: https://codereview.chromium.org/1001323002 Cr-Commit-Position: refs/heads/master@{#27182}
-
- 23 Feb, 2015 1 commit
-
-
dcarney authored
R=verwaest@chromium.org BUG=v8:3914 LOG=N Review URL: https://codereview.chromium.org/914333002 Cr-Commit-Position: refs/heads/master@{#26794}
-
- 05 Feb, 2015 1 commit
-
-
dslomov authored
R=rossberg@chromium.org BUG=chromium:452510 LOG=Y Review URL: https://codereview.chromium.org/893993007 Cr-Commit-Position: refs/heads/master@{#26466}
-
- 30 Jan, 2015 3 commits
-
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/877753007 Cr-Commit-Position: refs/heads/master@{#26346}
-
Benedikt Meurer authored
This reverts commit 6a4c0a3b and commit 0deaa4b6 for breaking GCC bots. TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/893533003 Cr-Commit-Position: refs/heads/master@{#26342}
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/888613002 Cr-Commit-Position: refs/heads/master@{#26340}
-
- 27 Jan, 2015 1 commit
-
-
adamk authored
The approach taken in this CL is to incrementally move toward the currently-specced version of modules in ES6. The biggest change in this patch is separating the parsing of modules from the parsing of scripts, getting rid of the 'module' keyword and thus disallowing modules-in-scripts as well as modules-in-modules. The syntax supported by import/export declarations has not yet been significantly changed, with the major exception being that import declarations require a string as the 'from' part. Most of the existing tests have been disabled, with a first new test added in cctest/test-parsing. BUG=v8:1569 LOG=n Review URL: https://codereview.chromium.org/881623002 Cr-Commit-Position: refs/heads/master@{#26299}
-
- 27 Nov, 2014 1 commit
-
-
dcarney authored
a revival of https://codereview.chromium.org/467013003 R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/760883002 Cr-Commit-Position: refs/heads/master@{#25537}
-
- 21 Nov, 2014 1 commit
-
-
dslomov authored
R=rossberg@chromium.org BUG=v8:2198 LOG=N Review URL: https://codereview.chromium.org/745963002 Cr-Commit-Position: refs/heads/master@{#25468}
-
- 12 Nov, 2014 1 commit
-
-
dslomov@chromium.org authored
1. Global{Context,Scope}=>Script{Context,Scope} 2. Enable fixed tests 3. Update comments R=rossberg@chromium.org BUG=v8:2198 LOG=N Review URL: https://codereview.chromium.org/716833002 Cr-Commit-Position: refs/heads/master@{#25291} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Nov, 2014 2 commits
-
-
dslomov@chromium.org authored
R=ishell@chromium.org, adamk@chromium.org, rossberg@chromium.org, verwaest@chromium.org BUG=v8:2198 LOG=N Review URL: https://codereview.chromium.org/712973002 Cr-Commit-Position: refs/heads/master@{#25264} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
R=ishell@chromium.org, adamk@chromium.org, rossberg@chromium.org, verwaest@chromium.org BUG=v8:2198 LOG=N Review URL: https://codereview.chromium.org/696783005 Cr-Commit-Position: refs/heads/master@{#25259} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Nov, 2014 1 commit
-
-
rossberg@chromium.org authored
R=dslomov@chromium.org BUG=v8:2198 LOG=N Review URL: https://codereview.chromium.org/716523002 Cr-Commit-Position: refs/heads/master@{#25240} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Nov, 2014 1 commit
-
-
dslomov@chromium.org authored
This implements correct semantics for "extensible" top level lexical scope. The entire lexical scope is represented at runtime by GlobalContextTable, reachable from native context and accumulating global contexts from every script loaded into the context. When the new script starts executing, it does the following validation: - checks the GlobalContextTable and global object (non-configurable own) properties against the set of declarations it introduces and reports potential conflicts. - invalidates the conflicting PropertyCells on global object, so that any code depending on them will miss/deopt causing any contextual lookups to be reexecuted under the new bindings - adds the lexical bindings it introduces to the GlobalContextTable Loads and stores for contextual lookups are modified so that they check the GlobalContextTable before looking up properties on global object, thus implementing the shadowing of global object properties by lexical declarations. R=adamk@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/705663004 Cr-Commit-Position: refs/heads/master@{#25220} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Oct, 2014 1 commit
-
-
dslomov@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/650663003 Cr-Commit-Position: refs/heads/master@{#24975} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2014 1 commit
-
-
jochen@chromium.org authored
BUG=none R=hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/437993003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jul, 2014 2 commits
-
-
mstarzinger@chromium.org authored
TBR=ishell@chromium.org Review URL: https://codereview.chromium.org/429583002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jacob.bramley@arm.com, titzer@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/410153002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jul, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/392243002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jul, 2014 1 commit
-
-
verwaest@chromium.org authored
This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const. Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead. BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/379893002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-