- 18 Aug, 2015 1 commit
-
-
rmcilroy authored
Makes the following modifications to the interpreter builtins and InterpreterAssembler: - Adds an accumulator register and initializes it to undefined() - Adds a register file pointer register and use it instead of FramePointer to access registers - Modifies builtin to support functions with 0 regiters in the register file - Modifies builtin to Call rather than TailCall to first bytecode handler. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1289863003 Cr-Commit-Position: refs/heads/master@{#30219}
-
- 17 Aug, 2015 2 commits
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1299563003 Cr-Commit-Position: refs/heads/master@{#30187}
-
bmeurer authored
Add Object::StrictEquals to unify the implementation of strict equality comparison in the runtime and the api (the api was already missing a case for SIMD). Now we (almost) have a single bottleneck for strict equality, we just need to reduce the amount of unnecessary complexity for the code stub. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1298603002 Cr-Commit-Position: refs/heads/master@{#30186}
-
- 13 Aug, 2015 1 commit
-
-
yangguo authored
Review URL: https://codereview.chromium.org/1285163003 Cr-Commit-Position: refs/heads/master@{#30144}
-
- 12 Aug, 2015 4 commits
-
-
jfb authored
The operations were available on ARM64 and x86-32 but were unused. It has been conjectured that nontemporals can be used for rowhammer-like bitflips more easily than regular load/store operations. It is therefore desirable to avoid generating these instructions in the future. R= titzer, jochen, jln, Mark Seaborn, ruiq Review URL: https://codereview.chromium.org/1276113002 Cr-Commit-Position: refs/heads/master@{#30139}
-
bmeurer authored
Support for undetectable strings was officially dropped in https://codereview.chromium.org/916753002, but the compilers weren't fixed properly. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1287983002 Cr-Commit-Position: refs/heads/master@{#30132}
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1283183002 Cr-Commit-Position: refs/heads/master@{#30127}
-
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 7 violations of that rule in the code. However there now is the "tools/check-inline-includes.sh" tool detecting such violations. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1283033003 Cr-Commit-Position: refs/heads/master@{#30125}
-
- 11 Aug, 2015 3 commits
-
-
bmeurer authored
This way we can greatly simplify the different variants of ToObject in our codebase and make them more uniform and robust. Adding a new primitive doesn't require finding and changing all those places again, but it is sufficient to setup the constructor function index when allocating the map. We use the inobject properties field of Map, which is invalid primitive maps anyway. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1276533003 Cr-Commit-Position: refs/heads/master@{#30119}
-
bmeurer authored
There's no need to have one InstanceType per SIMD primitive type (this will not scale long-term). Also reduce the amount of code duplication and make it more robust wrt adding new SIMD types. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1273353003 Cr-Commit-Position: refs/heads/master@{#30107}
-
mstarzinger authored
This is the first step of turning the v8.h file into a normal header instead of an include-the-world header. The new rule is that no other header files are allowed to include v8.h, which is enforced by DEPS. Also the number of includes inside the v8.h file has been drastically reduced. Basically the last missing piece is the inclusion of the big objects-inl.h file. This in turn makes many headers follow the IWYU principle. R=bmeurer@chromium.org,hpayer@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/1282503003 Cr-Commit-Position: refs/heads/master@{#30102}
-
- 07 Aug, 2015 1 commit
-
-
titzer authored
[turbofan] Remove architecture-specific linkage files and LinkageTraits. Use macro-assembler-defined constants. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1272883003 Cr-Commit-Position: refs/heads/master@{#30063}
-
- 05 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1269323003 Cr-Commit-Position: refs/heads/master@{#30023}
-
- 03 Aug, 2015 1 commit
-
-
bbudge authored
Adds Int32x4, Bool32x4, Int16x8, Bool16x8, Int8x16, Bool8x16. Adds Simd128Value base heap object class. Changes heap/factory construction pattern to use arrays. Adds replaceLane functions to facilitate testing. NOPRESUBMIT=true (presubmit checks erroneously interpret array declaration in macro definition as variable size array.) LOG=Y BUG=v8:4124 Review URL: https://codereview.chromium.org/1250733005 Cr-Commit-Position: refs/heads/master@{#29974}
-
- 31 Jul, 2015 3 commits
-
-
mvstanton authored
Since we need the notion of a dummy vector ic, we can use that to avoid a special case of the IC constructor. Also, consolidate the two dummy ICs into one. BUG= Review URL: https://codereview.chromium.org/1268783004 Cr-Commit-Position: refs/heads/master@{#29956}
-
bmeurer authored
This is the initial (big) step towards a more uniform implementation of the ToObject abstract operation (ES6 7.1.13), where we have a fallback implementation in JSReceiver::ToObject() and a fast (hydrogen) CodeStub to deal with the fast case (we should be able to do more cleanup on this in a followup CL). For natives we expose the abstract operation via a %_ToObject intrinsic, also exposed via a macro TO_OBJECT, that unifies the previous confusion with TO_OBJECT_INLINE, ToObject, TO_OBJECT, $toObject and %$toObject. Now the whole implementation of the abstract operation is context independent, meaning we don't need any magic in the builtins object nor the native context. R=mvstanton@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1266013006 Cr-Commit-Position: refs/heads/master@{#29953}
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1265923002 Cr-Commit-Position: refs/heads/master@{#29951}
-
- 30 Jul, 2015 2 commits
-
-
rmcilroy authored
Adds interpreter entry and exit trampoline builtins. Also implements the Return bytecode handler and fixes a few bugs in InterpreterAssembler highlighted by running on other architectures. MIPS and MIPS64 port contributed by Paul Lind (paul.lind@imgtec.com) BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1245133002 Cr-Commit-Position: refs/heads/master@{#29929}
-
bmeurer authored
All runtime function get a context anyway, which is the same as the explicit one in case of DeclareGlobals and DeclareLookupSlot. So we can remove the additional parameter there. As an additional bonus, improve the runtime interface to DeclareLookupSlot. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1261863002 Cr-Commit-Position: refs/heads/master@{#29923}
-
- 28 Jul, 2015 2 commits
-
-
jochen authored
Original issue's description: > Remove ExternalArray, derived types, and element kinds > > BUG=v8:3996 > R=jarin@chromium.org, mvstanton@chromium.org, bmeurer@chromium.org > LOG=y > > Committed: https://crrev.com/607ef7c6009a24ebf195b4cab7b0b436c5afd21c > Cr-Commit-Position: refs/heads/master@{#29872} BUG=v8:3996 R=bmeurer@chromium.org LOG=y Review URL: https://codereview.chromium.org/1262583002 Cr-Commit-Position: refs/heads/master@{#29893}
-
bmeurer authored
No need to pass the name explicitly to the stubs; the runtime can extract the name from the ScopeInfo (the extension of the ScriptContext) on-demand easily without any performance impact. Review URL: https://codereview.chromium.org/1259963002 Cr-Commit-Position: refs/heads/master@{#29886}
-
- 27 Jul, 2015 4 commits
-
-
machenbach authored
Revert of Remove ExternalArray, derived types, and element kinds (patchset #5 id:80001 of https://codereview.chromium.org/1254623002/) Reason for revert: [Sheriff] Breaks several layout tests, e.g.: http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2032/builds/1067 Several output lines change from PASS to FAIL. If the changes are intended, please land a needsmanualrebaseline change in blink first. Original issue's description: > Remove ExternalArray, derived types, and element kinds > > BUG=v8:3996 > R=jarin@chromium.org, mvstanton@chromium.org, bmeurer@chromium.org > LOG=y > > Committed: https://crrev.com/607ef7c6009a24ebf195b4cab7b0b436c5afd21c > Cr-Commit-Position: refs/heads/master@{#29872} TBR=bmeurer@chromium.org,hpayer@chromium.org,jarin@chromium.org,mvstanton@chromium.org,jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3996 Review URL: https://codereview.chromium.org/1257223002 Cr-Commit-Position: refs/heads/master@{#29883}
-
bmeurer authored
We don't need the hole check and slow runtime mode for read-only properties this way. R=ishell@chromium.org Review URL: https://codereview.chromium.org/1255133002 Cr-Commit-Position: refs/heads/master@{#29881}
-
jochen authored
BUG=v8:3996 R=jarin@chromium.org, mvstanton@chromium.org, bmeurer@chromium.org LOG=y Review URL: https://codereview.chromium.org/1254623002 Cr-Commit-Position: refs/heads/master@{#29872}
-
ishell authored
Review URL: https://codereview.chromium.org/1259853002 Cr-Commit-Position: refs/heads/master@{#29860}
-
- 24 Jul, 2015 2 commits
-
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1248443003 Cr-Commit-Position: refs/heads/master@{#29840}
-
bmeurer authored
This is the initial round of optimizations for the LoadGlobalViaContextStub and StoreGlobalViaContextStub, basically turning them into platform code stubs to avoid the Crankshaft overhead in the fast case, and making the runtime interface cheaper. R=ishell@chromium.org BUG=chromium:510694 LOG=n Review URL: https://codereview.chromium.org/1238143002 Cr-Commit-Position: refs/heads/master@{#29834}
-
- 23 Jul, 2015 6 commits
-
-
mostynb authored
Review URL: https://codereview.chromium.org/1251593009 Cr-Commit-Position: refs/heads/master@{#29825}
-
mvstanton authored
All of this is controlled by the CallDescriptor. It's simply the case that if you specify less registers than the function arity calls for, the rest are assumed to be on the stack. Bailout handlers accept these constant stack arguments too. BUG= Review URL: https://codereview.chromium.org/1250563004 Cr-Commit-Position: refs/heads/master@{#29813}
-
danno authored
Previous to this CL, ICs used a slightly different code idiom to get to C++ code from generated code than runtime intrinsics, using an IC_Utility class that in essence provided exactly the same functionality as Runtime::FunctionForId, but in its own quirky way. This CL unifies the two mechanisms, folding IC_Utility away by making all IC entry points in C++ code, e.g. IC miss handlers, full-fledged runtime intrinsics. This makes it possible to eliminate a bunch of ad-hoc declarations and adapters that the IC system had to needlessly re-invent. As a bonus and the original reason for this yak-shave: IC-related C++ runtime functions are now callable from TurboFan. Review URL: https://codereview.chromium.org/1248303002 Cr-Commit-Position: refs/heads/master@{#29811}
-
yangguo authored
R=mvstanton@chromium.org Committed: https://crrev.com/937d4efbf9c399339fdc8e041bec8e80baa7b58f Cr-Commit-Position: refs/heads/master@{#29798} Review URL: https://codereview.chromium.org/1255613002 Cr-Commit-Position: refs/heads/master@{#29805}
-
yangguo authored
Revert of Reduce duplicate code in full-codegen across platforms. (patchset #1 id:1 of https://codereview.chromium.org/1255613002/) Reason for revert: breaks mips Original issue's description: > Reduce duplicate code in full-codegen across platforms. > > R=mvstanton@chromium.org > > Committed: https://crrev.com/937d4efbf9c399339fdc8e041bec8e80baa7b58f > Cr-Commit-Position: refs/heads/master@{#29798} TBR=mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1252513004 Cr-Commit-Position: refs/heads/master@{#29802}
-
yangguo authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1255613002 Cr-Commit-Position: refs/heads/master@{#29798}
-
- 22 Jul, 2015 3 commits
-
-
mvstanton authored
It's just the same as StoreTransitionDescriptor. BUG= Review URL: https://codereview.chromium.org/1248973002 Cr-Commit-Position: refs/heads/master@{#29789}
-
jochen authored
The layout of fixed typed array base is then capable of handling external typed arrays as well. In a follow-up CL, I'll delete external typed arrays, and use fixed typed array base instead BUG=v8:3996 R=jarin@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1248483007 Cr-Commit-Position: refs/heads/master@{#29786}
-
mstarzinger authored
This fixes a recent regression where the register usually holding the original receiver was pushed onto the stack even when the stub was not compiled for super calls (i.e. IsSuperConstructorCall). This led to untagged values being present in the stack frame. R=jacob.bramley@arm.com BUG=chromium:512573 LOG=N Review URL: https://codereview.chromium.org/1241223003 Cr-Commit-Position: refs/heads/master@{#29785}
-
- 21 Jul, 2015 1 commit
-
-
mstarzinger authored
R=jacob.bramley@arm.com Review URL: https://codereview.chromium.org/1245153002 Cr-Commit-Position: refs/heads/master@{#29773}
-
- 20 Jul, 2015 3 commits
-
-
jochen authored
This will be used to compute the base pointer of the new unified representation for both on-heap and external typed arrays. The idea is that either the external or the tagged pointer is 0 (although in practice, if the tagged pointer is non-0, the external pointer will contain the offset from the start of the on-heap typed array to the data in the on-heap typed array). The HAdd is marked as depending on new-space promotion, as the tagged pointer might move during GC, and so the result of the addition needs to be recomputed. BUG=v8:3996 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1244693002 Cr-Commit-Position: refs/heads/master@{#29760}
-
yangguo authored
Prior to this patch, we enter a global debug mode whenever a break point is set. By entering this mode, all code is deoptimized and activated frames are recompiled and redirected to newly compiled debug code. After this patch, we only deoptimize/redirect for functions we want to debug. Trigger for this is Debug::EnsureDebugInfo, and having DebugInfo object attached to the SFI prevents optimization/inlining. The result is that we can have optimized code for functions without break points alongside functions that do have break points, which are not optimized. R=mstarzinger@chromium.org, ulan@chromium.org BUG=v8:4132 LOG=Y Review URL: https://codereview.chromium.org/1233073005 Cr-Commit-Position: refs/heads/master@{#29758}
-
mstarzinger authored
This adds the implicit function variable for a function literal to the declarations list in scope analysis, instead of specially handling it throughout all back-ends. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1245603003 Cr-Commit-Position: refs/heads/master@{#29754}
-