- 03 Aug, 2015 2 commits
-
-
mbrandy authored
NOPRESUBMIT=true R=titzer@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1271583002 Cr-Commit-Position: refs/heads/master@{#29978}
-
chunyang.dai authored
port ec9bc794 (r29949). original commit message: Previously these instructions tried to jump to the value at the code entry's location, rather than jumping to this location. Also adds a test. BUG= Review URL: https://codereview.chromium.org/1256163003 Cr-Commit-Position: refs/heads/master@{#29964}
-
- 31 Jul, 2015 7 commits
-
-
titzer authored
R=danno@chromium.org BUG= Review URL: https://codereview.chromium.org/1269913002 Cr-Commit-Position: refs/heads/master@{#29957}
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1268433003 Cr-Commit-Position: refs/heads/master@{#29955}
-
martyn.capewell authored
Improve code generated for flag materialization. Review URL: https://codereview.chromium.org/1260733003 Cr-Commit-Position: refs/heads/master@{#29954}
-
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}
-
mvstanton authored
Also, a one line fix in TurboFan to call the correct store ic. BUG= Review URL: https://codereview.chromium.org/1266983002 Cr-Commit-Position: refs/heads/master@{#29952}
-
rmcilroy authored
Previously these instructions tried to jump to the value at the code entry's location, rather than jumping to this location. Also adds a test. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1265723003 Cr-Commit-Position: refs/heads/master@{#29949}
-
chunyang.dai authored
port 597da503 (r29910). original commit message: Changes the interpreter to use a BytecodeArray pointer and an offset to avoid having an inner pointer to a BytecodeArray object in registers during dispatch. BUG= Review URL: https://codereview.chromium.org/1267783002 Cr-Commit-Position: refs/heads/master@{#29942}
-
- 30 Jul, 2015 9 commits
-
-
mbrandy authored
Port c5dd553c Original commit message: 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. R=rmcilroy@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1266053002 Cr-Commit-Position: refs/heads/master@{#29939}
-
danno authored
Add factory methods for different types of LinkageLocations, and ensure that accesses to the underlying data in the location are classified by type and funneled through explicit accessors. Also change the representation of LinkageLocation to use a BitField rather than using a reserved section of the integer range. Review URL: https://codereview.chromium.org/1262343002 Cr-Commit-Position: refs/heads/master@{#29938}
-
oth authored
BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1257543003 Cr-Commit-Position: refs/heads/master@{#29934}
-
titzer authored
This is the first step in cutting the Gordian linkage/linkage-impl knot. This basically changes the axis along which we organize call descriptor building logic from having platform-specific files dedicated to all call descriptor types to having call-descriptor-type-specific files that have The next step is to factor the JS, code stub, and runtime call descriptors similarly, dumping them into: compiler/js-linkage.cc compiler/runtime-linkage.cc compiler/code-stub-linkage.cc or, alternatively, all of them just into compiler/js-linkage.cc. This also anticipates a wasm-linkage.cc file in the future. R=bmeurer@chromium.org,danno@chromium.org BUG= Review URL: https://codereview.chromium.org/1266603002 Cr-Commit-Position: refs/heads/master@{#29931}
-
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}
-
conradw authored
This avoids multiple ToFastProperties runtime calls and additional stack pushes in strong mode. BUG= Review URL: https://codereview.chromium.org/1266573003 Cr-Commit-Position: refs/heads/master@{#29925}
-
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}
-
bmeurer authored
A Parameter operator contains a ParameterInfo payload, not an int payload, so the OpParameter<int> cast is invalid (and only worked by coincidence currently). BUG=chromium:515215 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1266743002 Cr-Commit-Position: refs/heads/master@{#29919}
-
rmcilroy authored
Changes the interpreter to use a BytecodeArray pointer and an offset to avoid having an inner pointer to a BytecodeArray object in registers during dispatch. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1254293006 Cr-Commit-Position: refs/heads/master@{#29910}
-
- 28 Jul, 2015 3 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
Don't use different read/write slots for context globals, but let them share the same slot, which reduces the number of initial misses, and also saves some memory for large scripts. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1258213002 Cr-Commit-Position: refs/heads/master@{#29889}
-
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
-
-
mbrandy authored
R=michael_dawson@ca.ibm.com, danno@chromium.org, yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1255953003 Cr-Commit-Position: refs/heads/master@{#29884}
-
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}
-
michael_dawson authored
BUG= R=danno@chromium.org, mbrandy@us.ibm.com Review URL: https://codereview.chromium.org/1245023003 Cr-Commit-Position: refs/heads/master@{#29876}
-
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}
-
- 24 Jul, 2015 5 commits
-
-
mvstanton authored
Also, generic lowering for keyed stores needs to handle the case when there is no IC slot available (it can use the generic keyed store). BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1252303002 Cr-Commit-Position: refs/heads/master@{#29847}
-
rossberg authored
R=mstarzinger@chromium.org BUG=513474,513475,513611,513612 LOG=N Review URL: https://codereview.chromium.org/1250423002 Cr-Commit-Position: refs/heads/master@{#29845}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1248443003 Cr-Commit-Position: refs/heads/master@{#29840}
-
chunyang.dai authored
port 7877c4e0 (r29814). original commit message: Adds basic support for generation of interpreter bytecode handler code snippets. The InterpreterAssembler class exposes a set of low level, interpreter specific operations which can be used to build a Turbofan graph. The Interpreter class generates a bytecode handler snippet for each bytecode by assembling operations using an InterpreterAssembler. Currently only two simple bytecodes are supported: LoadLiteral0 and Return. BUG= Review URL: https://codereview.chromium.org/1256783002 Cr-Commit-Position: refs/heads/master@{#29838}
-
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
-
-
mbrandy authored
Port 7877c4e0 Original commit message: Adds basic support for generation of interpreter bytecode handler code snippets. The InterpreterAssembler class exposes a set of low level, interpreter specific operations which can be used to build a Turbofan graph. The Interpreter class generates a bytecode handler snippet for each bytecode by assembling operations using an InterpreterAssembler. Currently only two simple bytecodes are supported: LoadLiteral0 and Return. R=rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1250723003 Cr-Commit-Position: refs/heads/master@{#29822}
-
mstarzinger authored
This mostly removes dead code and obsolete special cases from the RawMachineAssembler::MakeNode helper, that shouldn't be necessary anymore. R=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/1243253005 Cr-Commit-Position: refs/heads/master@{#29817}
-
rmcilroy authored
Adds basic support for generation of interpreter bytecode handler code snippets. The InterpreterAssembler class exposes a set of low level, interpreter specific operations which can be used to build a Turbofan graph. The Interpreter class generates a bytecode handler snippet for each bytecode by assembling operations using an InterpreterAssembler. Currently only two simple bytecodes are supported: LoadLiteral0 and Return. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1239793002 Cr-Commit-Position: refs/heads/master@{#29814}
-
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}
-
mstarzinger authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1248263003 Cr-Commit-Position: refs/heads/master@{#29800}
-
mstarzinger authored
Using the GraphBuilder base class forces each node creation to go through a virtual function dispatch just for the sake of saving the duplication of the NewNode helper methods. In total that added up to saving minus (sic!) six lines of code. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1252093002 Cr-Commit-Position: refs/heads/master@{#29799}
-
- 22 Jul, 2015 2 commits
-
-
danno authored
Review URL: https://codereview.chromium.org/1245523002 Cr-Commit-Position: refs/heads/master@{#29791}
-
mtrofin authored
Unit tests for the live range conflict detection mechanism (CoalescedLiveRanges) in the Greedy Allocator. Consolidated conflict detection and traversal logic in CoalescedLiveRanges to avoid duplication in both code and testing. In addition, this change achieves better separation between CoalescedLiveRanges and other register allocator components, improving testability and maintainability. BUG= Review URL: https://codereview.chromium.org/1219063017 Cr-Commit-Position: refs/heads/master@{#29783}
-
- 21 Jul, 2015 1 commit
-
-
rmcilroy authored
The InterpreterAssembler needs to specify a specific CallDescriptor type instead of using the SimplifiedCDescriptor type. This CL makes it possible to specify the CallDescriptor used by the RawMachineAssembler instead of specifying a MachineSignature. Also removes instruction-selector-tester.h which was erroneously resurrected at some point. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1235313002 Cr-Commit-Position: refs/heads/master@{#29777}
-
- 20 Jul, 2015 1 commit
-
-
danno authored
In many cases, the context that TurboFan's ASTGraphBuilder or subsequent reduction operations attaches to nodes does not need to be that exact context, but rather only needs to be one with the same native context, because it is used internally only to fetch the native context, e.g. for creating and throwing exceptions. This reducer recognizes common cases where the context that is specified for a node can be relaxed to a canonical, less specific one. This relaxed context can either be the enclosing function's context or a specific Module or Script context that is explicitly created within the function. This optimization is especially important for TurboFan-generated code stubs which use context specialization and inlining to generate optimal code. Without context relaxation, many extraneous moves are generated to pass exactly the right context to internal functions like ToNumber and AllocateHeapNumber, which only need the native context. By turning context relaxation on, these moves disappear because all these common internal context uses are unified to the context passed into the stub function, which is typically already in the correct context register and remains there for short stubs. It also eliminates the explicit use of a specialized context constant in the code stub in these cases, which could cause memory leaks. Review URL: https://codereview.chromium.org/1244583003 Cr-Commit-Position: refs/heads/master@{#29763}
-