- 09 Aug, 2016 2 commits
-
-
jgruber authored
These were the final remnants of error code written in JavaScript. BUG= Review-Url: https://codereview.chromium.org/2222893002 Cr-Commit-Position: refs/heads/master@{#38475}
-
bmeurer authored
Sanitize the typing rules for the various supported Math builtins, and add appropriate typing rules for various Number, String, Object and global builtins as well. R=franzih@chromium.org Review-Url: https://codereview.chromium.org/2222053002 Cr-Commit-Position: refs/heads/master@{#38472}
-
- 03 Aug, 2016 1 commit
-
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2206573002 Cr-Commit-Position: refs/heads/master@{#38289}
-
- 02 Aug, 2016 2 commits
-
-
adamk authored
It's shipped in M52. R=caitp@igalia.com, littledan@chromium.org Review-Url: https://codereview.chromium.org/2203843002 Cr-Commit-Position: refs/heads/master@{#38256}
-
jgruber authored
This type is not supposed to be constructable by users. Internally, we use CallSiteUtils::Construct to create CallSite objects; and we simply map a thrower builtin as the public CallSite constructor. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2201823002 Cr-Commit-Position: refs/heads/master@{#38234}
-
- 01 Aug, 2016 3 commits
-
-
cbruni authored
BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2196533003 Cr-Commit-Position: refs/heads/master@{#38213}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2191293002 Cr-Commit-Position: refs/heads/master@{#38212}
-
bmeurer authored
Allow inlining of getters and setters into TurboFan optimized code. This just adds the basic machinery required to essentially inline the setter and getter dispatch code for the (keyed) load/store ICs. There'll be follow up CLs to also actually inline some of the interesting accessor functions itself, like the byteLength and friends for the TypedArrays. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2198473002 Cr-Commit-Position: refs/heads/master@{#38192}
-
- 28 Jul, 2016 3 commits
-
-
danno authored
A "--minimal" flag turns off all optimizing compilers and activates the interpreter. The idea is that with this flag activated, only the platform-specific stubs and a Turbofan implementation must be complete to start d8 and run the bulk of the tests. Note that although this flag is constructed as a runtime flag, it must be set to true when building the snapshot and therefore creates a compile-time dependency. BUG=chromium:608675 Review-Url: https://codereview.chromium.org/2189663002 Cr-Commit-Position: refs/heads/master@{#38150}
-
cbruni authored
This CL introduces a new fast flat instantiations cache for the first 1024 object templates. After that we fall back to the existing slower dictionary cache. Drive-by-fix: de-handlify and clean up some code in api-natives.cc BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2170743003 Cr-Commit-Position: refs/heads/master@{#38146}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2174723002 Cr-Commit-Position: refs/heads/master@{#38136}
-
- 22 Jul, 2016 1 commit
-
-
jgruber authored
Review-Url: https://codereview.chromium.org/2158303002 Cr-Commit-Position: refs/heads/master@{#37975}
-
- 20 Jul, 2016 2 commits
-
-
jgruber authored
This ports a large portion of Error methods to C++, including the constructor, stack setter and getter, and Error.prototype.toString. BUG= Committed: https://crrev.com/5742da056a290caa13a0b8717ddb1e43424e0d31 Review-Url: https://codereview.chromium.org/2142933003 Cr-Original-Commit-Position: refs/heads/master@{#37870} Cr-Commit-Position: refs/heads/master@{#37908}
-
jgruber authored
Revert of Move Error methods to C++ (patchset #11 id:200001 of https://codereview.chromium.org/2142933003/ ) Reason for revert: Clusterfuzz failures: https://bugs.chromium.org/p/chromium/issues/detail?id=629749 Original issue's description: > Move Error methods to C++ > > This ports a large portion of Error methods to C++, > including the constructor, stack setter and getter, > and Error.prototype.toString. > > BUG= > > Committed: https://crrev.com/5742da056a290caa13a0b8717ddb1e43424e0d31 > Cr-Commit-Position: refs/heads/master@{#37870} TBR=yangguo@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2159223004 Cr-Commit-Position: refs/heads/master@{#37881}
-
- 19 Jul, 2016 2 commits
-
-
jgruber authored
This ports a large portion of Error methods to C++, including the constructor, stack setter and getter, and Error.prototype.toString. BUG= Review-Url: https://codereview.chromium.org/2142933003 Cr-Commit-Position: refs/heads/master@{#37870}
-
jochen authored
I plan to use this from ApiNatives, so move it to a common location. BUG= R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2161613002 Cr-Commit-Position: refs/heads/master@{#37865}
-
- 18 Jul, 2016 2 commits
-
-
jochen authored
I want to use those methods from ApiNatives so move them to a shared location. BUG= R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2156153002 Cr-Commit-Position: refs/heads/master@{#37843}
-
franzih authored
For angular.js on Speedometer, this results in 8.96% speed up, i.e., the tests take on average 762ms with this patch, 837ms without. BUG= v8:5175 Review-Url: https://codereview.chromium.org/2134803002 Cr-Commit-Position: refs/heads/master@{#37827}
-
- 12 Jul, 2016 1 commit
-
-
bmeurer authored
Remove obsolete definitions from macros.py, and drop the now obsolete %_ToPrimitive, %_ToPrimitive_Number, %_ToPrimitive_String, %_ToName and the %ToPrimitive_String intrinsics/runtime entries. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2137203002 Cr-Commit-Position: refs/heads/master@{#37665}
-
- 11 Jul, 2016 1 commit
-
-
jgruber authored
CallSite::IsConstructor() was unable to recognize builtin construct stubs (NumberConstructor_ConstructStub and StringConstructor_ConstructStub) as constructors, and thus these frames were not formatted correctly in stack traces. Fix this by explicitly marking their Code objects as construct stubs and passing along a special receiver value when we encounter such cases in CaptureSimpleStackTrace. R=mstarzinger@chromium.org, yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2125163004 Cr-Commit-Position: refs/heads/master@{#37631}
-
- 07 Jul, 2016 2 commits
-
-
franzih authored
Drive-by-fix: hydrogen code does not blindly return the byteLength offset, instead it executes what is defined in the byteLength getter. BUG= Review-Url: https://codereview.chromium.org/2123263002 Cr-Commit-Position: refs/heads/master@{#37595}
-
jochen authored
Such an object can be used to later create a context from it. It has to have access checks with handlers enabled, as it cannot be accessed otherwise. BUG=chromium:618305 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2107673003 Cr-Commit-Position: refs/heads/master@{#37594}
-
- 06 Jul, 2016 1 commit
-
-
franzih authored
Working on eliminating the use of ClassOf(). This function was checking IS_ARRAYBUFFER. BUG= Review-Url: https://codereview.chromium.org/2126603003 Cr-Commit-Position: refs/heads/master@{#37565}
-
- 05 Jul, 2016 3 commits
-
-
bmeurer authored
This drops the %_ValueOf intrinsic, but keeps the runtime entry %ValueOf for now, by either migrating the functionality (mostly Debug mirror or toString/valueOf methods) to C++ or TurboFan builtins, or switching to the %ValueOf runtime call when it's not performance critical anyways. The %_ValueOf intrinsic was one of the last blockers for fixing the unsound machine operator typing in TurboFan. R=yangguo@chromium.org BUG=v8:5049 Committed: https://crrev.com/293bd7882987f00e465710ce468bfb1eaa7d3fa2 Review-Url: https://codereview.chromium.org/2126453002 Cr-Original-Commit-Position: refs/heads/master@{#37512} Cr-Commit-Position: refs/heads/master@{#37519}
-
machenbach authored
Revert of [intrinsic] Drop the %_ValueOf intrinsic. (patchset #2 id:20001 of https://codereview.chromium.org/2126453002/ ) Reason for revert: [Sheriff] Breaks without i18n: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/8466 Original issue's description: > [intrinsic] Drop the %_ValueOf intrinsic. > > This drops the %_ValueOf intrinsic, but keeps the runtime entry > %ValueOf for now, by either migrating the functionality (mostly > Debug mirror or toString/valueOf methods) to C++ or TurboFan > builtins, or switching to the %ValueOf runtime call when it's > not performance critical anyways. > > The %_ValueOf intrinsic was one of the last blockers for fixing > the unsound machine operator typing in TurboFan. > > R=yangguo@chromium.org > BUG=v8:5049 > > Committed: https://crrev.com/293bd7882987f00e465710ce468bfb1eaa7d3fa2 > Cr-Commit-Position: refs/heads/master@{#37512} TBR=yangguo@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5049 Review-Url: https://codereview.chromium.org/2117273002 Cr-Commit-Position: refs/heads/master@{#37514}
-
bmeurer authored
This drops the %_ValueOf intrinsic, but keeps the runtime entry %ValueOf for now, by either migrating the functionality (mostly Debug mirror or toString/valueOf methods) to C++ or TurboFan builtins, or switching to the %ValueOf runtime call when it's not performance critical anyways. The %_ValueOf intrinsic was one of the last blockers for fixing the unsound machine operator typing in TurboFan. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2126453002 Cr-Commit-Position: refs/heads/master@{#37512}
-
- 01 Jul, 2016 5 commits
-
-
caitpotter88 authored
Corrects a small problem with the current implementation of the AsyncFunction constructor. See https://tc39.github.io/ecmascript-asyncawait/#async-function-constructor for details. BUG=v8:4483 R=littledan@chromium.org, adamk@chromium.org, jwolfe@igalia.com Review-Url: https://codereview.chromium.org/2118653004 Cr-Commit-Position: refs/heads/master@{#37484}
-
littledan authored
This patch implements "immutable prototype exotic objects" from the ECMAScript spec, which are objects whose __proto__ cannot be changed, but are not otherwise frozen. They are introduced in order to prevent a Proxy from being introduced to the prototype chain of the global object. The API is extended by a SetImmutablePrototype() call in ObjectTemplate, which can be used to vend new immutable prototype objects. Additionally, Object.prototype is an immutable prototype object. In the implementation, a new bit is added to Maps to say whether the prototype is immutable, which is read by SetPrototype. Map transitions to the immutable prototype state are not saved in the transition tree because the main use case is just for the prototype chain of the global object, which there will be only one of per Context, so no need to take up the extra word for a pointer in each full transition tree. BUG=v8:5149 Review-Url: https://codereview.chromium.org/2108203002 Cr-Commit-Position: refs/heads/master@{#37482}
-
bmeurer authored
Import fdlibm versions of acos, acosh, asin and asinh, which are more precise and produce the same result across platforms (we were using libm versions for asin and acos so far, where both speed and precision depended on the operating system so far). Introduce appropriate TurboFan operators for these functions and use them both for inlining and for the generic builtin. Also migrate the Math.imul and Math.fround builtins to TurboFan builtins to ensure that their behavior is always exactly the same as the inlined TurboFan version (i.e. C++ truncation semantics for double to float don't necessarily meet the JavaScript semantics). For completeness, also migrate Math.sign, which can even get some nice love in TurboFan. Drive-by-fix: Some alpha-sorting on the Math related functions, and cleanup the list of Math intrinsics that we have to export via the native context currently. BUG=v8:3266,v8:3496,v8:3509,v8:3952,v8:5169,v8:5170,v8:5171,v8:5172 TBR=rossberg@chromium.org R=franzih@chromium.org Review-Url: https://codereview.chromium.org/2116753002 Cr-Commit-Position: refs/heads/master@{#37476}
-
franzih authored
Migrate Math.hypot() from JS to C++ builtins. Use normalization and Kahan summation to avoid overflow and rounding errors. R=bmeurer@chromium.org BUG=v8:5165, v8:5086 LOG=n Review-Url: https://codereview.chromium.org/2102223005 Cr-Commit-Position: refs/heads/master@{#37473}
-
bradnelson authored
Directs 'use asm' traffic through asm-wasm conversion when --validate-asm is passed. Adds a builtin that handles the fallback to JS. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=asm-wasm R=mstarzinger@chromium.org,titzer@chromium.org LOG=N Review-Url: https://codereview.chromium.org/2057403003 Cr-Commit-Position: refs/heads/master@{#37470}
-
- 30 Jun, 2016 2 commits
-
-
franzih authored
Like the other Math builtins, Math.abs() is now a TurboFan builtin. It uses RawMachineAssembler::Float64Abs(). R=bmeurer@chromium.org BUG=v8:5163, v8:5086 LOG=N Review-Url: https://codereview.chromium.org/2115493002 Cr-Commit-Position: refs/heads/master@{#37433}
-
mvstanton authored
BUG=v8:5086 Review-Url: https://codereview.chromium.org/2083573002 Cr-Commit-Position: refs/heads/master@{#37424}
-
- 29 Jun, 2016 1 commit
-
-
jwolfe authored
Add a flag harmony_trailing_commas_in_parameters that allows trailing commas in function parameter declaration lists and function call parameter lists. Trailing commas are allowed in parenthetical lists like `(a, b, c,)` only if the next token is `=>`, thereby making it an arrow function declaration. Only 1 trailing comma is allowed, not `(a,,)`. A trailing comma must follow a non-rest parameter, so `(,)` and `(...a,)` are still SyntaxErrors. However, a trailing comma is allowed after a spread parameter, e.g. `a(...b,);`. Add parser tests for all of the above. BUG=v8:5051 LOG=y Review-Url: https://codereview.chromium.org/2094463002 Cr-Commit-Position: refs/heads/master@{#37355}
-
- 28 Jun, 2016 1 commit
-
-
bmeurer authored
Introduce a new machine operator Float64Pow that for now is backed by the existing MathPowStub to start the unification of Math.pow, and at the same time address the main performance issue that TurboFan still has with the imaging-darkroom benchmark in Kraken. Also migrate the Math.pow builtin itself to a TurboFan builtin and remove a few hundred lines of hand-written platform code for special handling of the fullcodegen Math.pow version. BUG=v8:3599,v8:5086,v8:5157 Review-Url: https://codereview.chromium.org/2103733003 Cr-Commit-Position: refs/heads/master@{#37323}
-
- 27 Jun, 2016 4 commits
-
-
machenbach authored
Revert of Refactor CreateApiFunction (patchset #2 id:20001 of https://codereview.chromium.org/2095953002/ ) Reason for revert: [Sheriff] Changes a layout test. Please rebase upstream if intended: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/7742 Original issue's description: > Refactor CreateApiFunction > > BUG= > > Committed: https://crrev.com/705574970f3899a6eda0c61130c8c31693df4039 > Cr-Commit-Position: refs/heads/master@{#37290} TBR=jochen@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= Review-Url: https://codereview.chromium.org/2099983004 Cr-Commit-Position: refs/heads/master@{#37299}
-
franzih authored
Instead of a JS implementation that calls C++ runtime functions, migrate String.fromCodePoint() to C++. BUG=v8:5049 Review-Url: https://codereview.chromium.org/2038563003 Cr-Commit-Position: refs/heads/master@{#37293}
-
jochen authored
R=yangguo@chromium.org,danno@chromium.org BUG= Review-Url: https://codereview.chromium.org/2094293002 Cr-Commit-Position: refs/heads/master@{#37292}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2095953002 Cr-Commit-Position: refs/heads/master@{#37290}
-
- 24 Jun, 2016 1 commit
-
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2095673002 Cr-Commit-Position: refs/heads/master@{#37252}
-